1987: 猴子吃桃问题
题目描述
有一堆桃子不知数目,猴子第一天吃掉一半,又多吃了一个,第二天照此方法,吃掉剩下桃子的一半又多一个,天天如此,到第m天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个? (m<29)
输入
第一行有一个整数n,表示有n组测试数据(从第二行开始,每一行的数据为:第m天);
输出
每一行数据是桃子的总个数
样例输入
2
3
11
样例输出
22
6142
提示
来源
nyoj语言入门
#include<stdio.h>
int main()
{
int n,m,s=1,i; //最后剩一个,所以s=1
scanf("%d",&n);
while(n--)
{
scanf("%d",&m);
for(i=0;i<m;i++)
{
s=(s+1)*2;//每次多吃一个,故要先加一
}
printf("%d\n",s);
s=1;//每循环一次都要重置s=1
}
}
猴子吃桃问题解析
本文详细解析了经典的猴子吃桃问题,通过逆向思维求解原始桃子数量。利用数学递推公式,从已知第m天剩余桃子数量出发,逐步向前推算,最终得出初始桃子总数。
1824

被折叠的 条评论
为什么被折叠?



