一只小猴子第一天摘了若干个桃子,然后吃了一半,因为他馋,又吃了一个,长此以往,到第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 }