烟台大学计算机与控制工程学院
All rights reserved.
作者:汪莹莉
完成时间:2016年10月30日
题目描述:
Description
一根高筋拉面,中间切一刀,可以得到2根面条。
如果先对折1次,中间切一刀,可以得到3根面条。
如果连续对折2次,中间切一刀,可以得到5根面条。
那么,连续对折10次,中间切一刀,会得到多少面条呢?
Input
包含多组数据,首先输入T,表示有T组数据.每个数据一行,是对折的次数。
Output
每行一组数据,输出得到的面条数。
Sample Input
3
0
1
2
Sample Output
2
3
5
/*
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,T;
int i,j,y;//T表示组数,a表示对折次数,y表示得到的面条数
scanf("%d",&T);
for(i=0;i<T;i++)
{
scanf("%d",&n);
y=1;
for(j=0;j<n;j++)
y=y*2;
}
printf("%d\n",y+1);
return 0;
}
运行结果:
知识点总结:首先根据题目描述找出规律来,明白切一刀得到的面条数符合(2^n+1)
另外,每一次的循环开始,都是y=1,所以要将y=1放在循环体内。
学习心得:设置新的变量T使组数进行循环,并且在题目中进行筛选信息