吃桃问题
猴子第一天摘下 X 个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天在想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子?
分析
共有桃子 X 个。
天数 | 吃桃数量 | 剩余桃数(第二天桃子总数) |
---|---|---|
第一天 | X/2 + 1 | X- (X/2 + 1) 即 X/2 - 1 |
…… | …… | …… |
第九天 | …… | X/2 - 1 = 第十天桃子数量 |
第十天 | …… | 剩余桃子 1 |
逆向思维
知道了第十天的桃子数量 1,就能得到第九天的桃子总数 =(第十天的桃子数量+1)X 2
以此类推
第八天的桃子总数 =(第九天的桃子数量+1)X 2
后端代码
public class test1{
public static void main(String[] args){
//第十天桃子总数(第九天剩余桃子总数)
int y = 1;
for(int i=1; i<10; i++){
y = (y+1)*2
}
System.out.println("共有桃子"+y+"个");
}
}