题目:
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾就多吃了一个。第二天早上又将剩下的桃子吃了一半,还是不过瘾又多
吃了一个。以后每天都吃前一天剩下的一半再加一个。到第10天刚好剩一个。问猴子第一天摘了多少个桃子?
解析:
我们可以先将这10天分开来看,第十天时剩下一个,而这一个正是“前一天剩下的一半再加一个”,那么第九天就是有2*(1+1)=4个,此时再将第九天与第八天一起看,则第8天有2*(3+1)个,此时就可以来写代码了:
#include "stdio.h"
void main()
{
int day = 10; //定义天数
int x_1; //前一天
int x_2 = 1; //后一天
for (;day > 1;day--)
{
x_1 = 2 * (x_2 + 1);
x_2 = x_1;
}
printf("猴子共摘了:%d个桃子\n",x_2);
}
运行结果如图所示: