题目:
猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多 吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天 剩下的一半零一个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
程序分析:采取逆向思维的方法,从后往前推断。
注意:
“到第 10 天早上想再吃时,见只剩下一个桃子了”,说明第九天吃完后只剩下1个桃子,所以循环从第9天开始
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n = 1;//定义还有最后一天,还想吃时,剩下的苹果数量
int last_day = 10;//定义最后一天
cout << "第" << last_day << "天还想吃苹果时,剩下" << n << "个苹果" << endl;
for (int day = 9; day > 0; day--)
{
cout << "第" << day << "天还剩下" << n << "个苹果" << endl;
n = (n + 1) * 2;
}
}