Description
一根高筋拉面,中间切一刀,可以得到2根面条。
如果先对折1次,中间切一刀,可以得到3根面条。
如果连续对折2次,中间切一刀,可以得到5根面条。
那么,连续对折10次,中间切一刀,会得到多少面条呢?
Input
包含多组数据,首先输入T,表示有T组数据.每个数据一行,是对折的次数。
Output
每行一组数据,输出得到的面条数。
Sample Input
3 0 1 2
Sample Output
2 3 5
#include<iostream>
using namespace std;
int main()
{
int a[1000],n,m,i,s;
a[0]=2;
a[1]=3;
cin>>m;
s=1;
for(i=2;i<1000;i++)
{s=s*2;;a[i]=a[i-1]+s;}
while(m--)
{cin>>n;
cout<<a[n]<<endl;
}
return 0;
}
/**************************************************************
Problem: 2506
User: 201358505136
Language: C++
Result: Accepted
Time:4 ms
Memory:1268 kb
****************************************************************/