有一堆桃子,猴子第一天吃了桃子的一半,并再多吃一个;以后的每天猴子都吃其中的一半,并多吃一个,知道第10天,猴子的桃子只剩下10个,问:猴子一共有多少个桃子;
解析:1 利用倒推思想 当n=10(第十天)的时候,桃子(peach)=1;
2 当n=9(第九天)的时候,桃子(peach)=(第十天+1)*2=4;
3 当n=8(第八天)的时候,桃子(peach)=(第九天+1)*2=10;
以此类推,我们可以得到一个规律:当天的桃子=(后一天的桃子+1)*2;
class AA {
public int peach(int n) {
if (n == 10 ) {
return 1;
} else if(n>=1&&n<10) {
return (peach(n+1)+1)*2;//桃子的个数
}else {
System.out.println("作用域仅在1-10");
return -1;
}
}
}
public class TestAA {
public static void main(String[]args){
int n=1;
AA t=new AA();
int y=t.peach(n);
System.out.println("一共有:"+y);
}
}
测试结果
一共有:1534