一只小猴子第一天摘了若干个桃子,然后吃了一半,因为他馋,又吃了一个,长此以往,到第10天刚想吃桃发现就剩1个了。

问:原来有多少个桃子?

分析:采用倒推法,第十天剩1个,那么第九天剩的为1*2+1,emmmm,不是很好理解对于我这种小菜鸡,换一种。

假设有x个桃子,第一天吃的为 1/2*x+1,那么第二天早晨起来发现就剩    x  -  “第一天吃的” ,那么第二天剩的为 x - (1/2*x+1),即:    [x]=( [x+1]  + 1 )*2 ,这样一个递归关系,在编程中实现。

 

 1 public class monkey {
 2     public static void main(String[] args) {
 3         int m;
 4         int today,yesterday;//代表后一天和前一天。
 5         int day=9; //代表当前天数,因为循环开始的时候today代表的值就不是1了,所以today即为第九天,而非第十天
 6         today=1;
 7         while(day>0) {
 8             yesterday=(today+1)*2;
 9             today=yesterday;
10             day--;
11         }
12         System.out.println(today);
13     }
14 }