猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。到第10天早上时,只剩下一个,求第一天有多少桃子。
我的思路:
用逆向思维推测第一天,由题可知第10天时桃子数量为1,根据规律,第9天使桃子数量为4;第8天桃子数量为10;第7天为22…
可以得到公式:当天桃子数=(前一天桃子数+1)* 2
#include<stdio.h>
int main()
{
//sum为桃子总数 x为当天桃子数
int sum=0, x=1, i;
for(i=1;i<10;i++) //从第二天开始,一共执行9次
{
sum = (x+1)*2; //桃子总数 = (桃子前一天数+1)* 2
x = sum; //当天桃子数
}
printf("%d\n",sum);
return 0;
}
运行结果