猴子摘桃问题 :很多桃,立即吃掉了一半,又多吃一个,每天都是这样吃桃,。到第十天的时候,只有1个桃了,求猴子最开始摘了多少桃子?
思路:逆向思考,将第十天看成第一天,将n = n / 2 -1变成 n = 2 * (n + 1)
- 函数功能: 猴子吃桃问题
- 函数形参: None
- 函数返回值: 0 成功
- 非0 失败
- 备注: None
#include<stdio.h>
int main()
{
int n = 1, i = 0;
for(i = 1;i <= 10;i++) //偷到第九天,第十天还剩一个 ,从第十天往后算
{
if(i == 1)
{
n = i;
}
else
{
n = 2 * (n + 1);
}
}
printf("猴子最开始摘了%d桃子",n);
return 0;
}