**猴子吃桃问题:**有一堆桃子,猴子第一天吃了其中的一半,并再多吃了一个!以后每天猴子都吃其中的一半,然后再多吃一个。当到第十天时,想再吃但是还没有吃, 发现只有一个桃子了。问:最初有多少个桃子?
分析:
- day 10 桃子有 1个
- day 9 桃子有(1+1)*2个 =4个 ==》(day10+1)*2
- day 8 桃子有(4+1)*2个 =10个 ==》(day9+1)*2
- 规律:前一天的桃子数 = (后一天的桃子数+1)*2
public class P221MonkeyEatpean {
public static void main(String[] args) {
Peach peach= new Peach();//实例化一个桃子对象
int n =8;//用变量n来存放需要知道的天数
int sum1 = peach.sum(n);//第n天的桃子总数
System.out.println("第"+n+"day桃子总数为:"+sum1);
}
}
class Peach{
public int sum(int n){
if (n == 10){//第十天的时候只有一个
return 1;
}else if(n>0 && n<10){//1--10天内的桃子数
return (sum(n+1)+1)*2;//递归方法
}else {
System.out.println("天数在1--10之间");
return 0;
}
}
}