日期:2014-05-20 浏览次数:20886 次
public static void main(String[] args) {
System.out.println(buy(10));
}
/**
*
* @param money 給了多少錢
* @return
*/
static int buy(int money) {
return buy(money / 1, 0);//1元錢喝一瓶滿的,開始時空瓶數量為0
}
/**
*
* @param fullNum 满瓶的汽水有多少瓶
* @param emptyNum 空瓶有多少个
* @return 可以最多喝多少瓶
*/
static int buy(int fullNum, int emptyNum) {
if (fullNum == 0)//沒有滿瓶的汽水了
return 0;
emptyNum += emptyNum + fullNum;//满瓶汽水喝完了剩下多少个空瓶
return fullNum + buy(emptyNum / 2, emptyNum % 2);//2个空瓶可以换一个满瓶汽水,最后还剩下多少个空瓶不能换
}