【程序17】
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩
下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下
的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
1.程序分析:采取逆向思维的方法,从第九天往第一天推。
public class Test17 {
public static void main(String[] args) {
int peach = 1; //第十天,剩下一个桃子
System.out.println("第10天,早上剩下" + peach + "个桃子");
for (int i = 9; i > 0; i--) {
System.out.print("第" + i + "天,剩余" + peach + "个桃子,");
peach = (peach + 1) * 2;
System.out.println("桃子总数:" + peach);
}
System.out.println("总共摘了" + peach + "个桃子");
}
}
输出结果:
第10天,早上剩下1个桃子
第9天,剩余1个桃子,桃子总数:4
第8天,剩余4个桃子,桃子总数:10
第7天,剩余10个桃子,桃子总数:22
第6天,剩余22个桃子,桃子总数:46
第5天,剩余46个桃子,桃子总数:94
第4天,剩余94个桃子,桃子总数:190
第3天,剩余190个桃子,桃子总数:382
第2天,剩余382个桃子,桃子总数:766
第1天,剩余766个桃子,桃子总数:1534
总共摘了1534个桃子