猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,好不过瘾,又多吃了一个。第二天早上又吃了剩下的桃子的一半,又多吃了一个。以后每天都吃了前一天剩下的一半零一个,到第十天早上想再吃的时候,就剩下一个桃子。求第一天共摘多少个桃子。
猴子吃桃问题是一个很经典的问题,因为不知道第一天一共摘了多少了桃子所以不是特别好计算,但我们可以用逆向思维,从最后一天算起。第十天剩了1个桃子,那么第九天就剩下4个桃子,第八天就剩下了10个桃子......所以第一天一共摘了n个,n=2*(n+1),代码如下:
#include<stdio.h>
int main()
{
int n=1;
int i=10;
while(i>1)
{
n=2*(n+1);
i=i-1;
}
printf("%d\n",n);
return 0;
}