猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?
采用逆向思维,已知当吃到第10天时剩余的桃子数量为1,
计算方法为 (桃子数量+1)*2
代码:
public static void taozi(int count,int tao){
//猴子吃桃问题
//count表示到了第10天剩余tao为1
if (count>1){
count--;
tao = (tao+1)*2;
taozi(count,tao);
return;
}
else if (count==1){
System.out.println("第一天一共摘了"+tao+"个桃子");
}
}
public static void main(String[] args) {
System.out.println("猴子吃桃问题:");
taozi(10,1);
}
代码小兵64503-29 11:46
代码小兵87208-06 11:36
代码小兵34507-29 13:19