问题及代码
/*
烟台大学计算机与控制工程学院
文件名称: 切面条
作 者:展一
完成时间:2016年10月27日
题目描述
一根高筋拉面,中间切一刀,可以得到2根面条。
如果先对折1次,中间切一刀,可以得到3根面条。
如果连续对折2次,中间切一刀,可以得到5根面条。
那么,连续对折10次,中间切一刀,会得到多少面条呢?
输入
包含多组数据,首先输入T,表示有T组数据.每个数据一行,是对折的次数。
输出
每行一组数据,输出得到的面条数。
样例输入
3
0
1
2
样例输出
2
3
5
*/
#include <stdio.h>
int main()
{
int T;
int n;
int i,a,b;
scanf("%d", &T);
for(i=0; i<T; i++)
{
scanf("%d",&n);
a=1;
for(b=0; b<n; b++)
a*=2;
printf("%d\n",a+1);
}
return 0;
}
运行结果
知识点总结
循环结构嵌套,for语句的使用。
切面条,无论折叠几次,最后剩下的总是2的折叠次数次方+1段面条。
学习心得
学会建立模型思考,如折叠一次切一刀后拿出一段,再将剩下的继续折叠、切,最后加上拿出的一段,使得题目简单化。