问题及代码:

Problem I: 切面条


Time Limit: 1 Sec   Memory Limit: 128 MB

Submit: 1325  

Solved: 860

[​Submit​​][​Status​​][​Web Board​​]

Description


    一根高筋拉面,中间切一刀,可以得到2根面条。 
    如果先对折1次,中间切一刀,可以得到3根面条。 
    如果连续对折2次,中间切一刀,可以得到5根面条。 
    那么,连续对折10次,中间切一刀,会得到多少面条呢?


Input


包含多组数据,首先输入T,表示有T组数据.每个数据一行,是对折的次数。


Output


每行一组数据,输出得到的面条数。


Sample Input

3
0
1
2

Sample Output

2
3
5
/*烟台大学计算机学院
题目描述: 一根高筋拉面,中间切一刀,可以得到2根面条。
如果先对折1次,中间切一刀,可以得到3根面条。
如果连续对折2次,中间切一刀,可以得到5根面条。
那么,连续对折10次,中间切一刀,会得到多少面条呢?
作者:景怡乐
完成时间:2017年4月2日
*/
#include <stdio.h>
#include <stdlib.h>

int main()
{
int T,n,a,b,c;//对折n次 a 第几组 b 折几次 c 面条数
scanf("%d",&T);
for (a=0; a<T; a++)
{
scanf("%d",&n);
c=1;//刚开始为1根面条
for (b=0; b<n; b++)
c=2*c;//每对折一次,原基础上乘以2.
printf("%d\n",c+1);
}


return 0;
}

学习心得:这道题是上学期做过的一道原题,看到时还挺兴奋的.刚开始时为 一根面条,中间切一刀,即获得两根面条,(1+1)


如果先对折1次,中间切一刀,可以得到3根面条。(2+1)
如果连续对折2次,中间切一刀,可以得到5根面条。(4+1)
对折3次,,,得到9根(8+1)
这样,每次对折都是在上次的基础上乘2再加上1根.