Java)猴子吃桃问题

JAVA学习网 2021-03-30 18:03:05

题目
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。
问:到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?

具体思路
采用逆向思维,已知当吃到第10天时剩余的桃子数量为1,
计算方法为 (桃子数量+1)*2

第___天 桃子数量
Day10 1
Day 9 4
Day 8 10
Day 7 22
Day 6 46
Day 5 94
Day 4 192
Day 3 382
Day 2 766
Day 1 1534
实现代码
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);
}

本文首发于java黑洞网,博客园同步更新

阅读(1305) 评论(0)