nyoj 对决吃桃

时间:2024-04-15 12:15:07
时间限制:3000 ms  |  内存限制:65535 KB
难度:0
描述
有一堆桃子不知数目,猴子第一天吃掉一半,又多吃了一个,第二天照此方法,吃掉剩下桃子的一半又多一个,天天如此,到第m天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个? (m<29)
输入
第一行有一个整数n,表示有n组测试数据(从第二行开始,每一行的数据为:第m天);
输出
每一行数据是桃子的总个数
样例输入

#include <iostream>
using namespace std;

int main()
{
int n;
cin>>n;
for(int i=n;i>0;i--)
{
int m;
cin>>m;
int x1=0,x2=1;
while(m--)
{
x1=(x2+1)*2;
x2=x1;
}
cout<<x1<<endl;
}
return 0;
}

思路:

已知最后一天剩一个桃,则最后一天的桃子数+1的数量就是第二天的一半,以此类推。