切面条 ----蓝桥杯
2014年第五届蓝桥杯全国软件大赛预赛A组第2题
题目描述:切面条
一根高筋拉面,中间切一刀,可以得到2根面条。
如果先对折1次,中间切一刀,可以得到3根面条。
如果连续对折2次,中间切一刀,可以得到5根面条。
那么,连续对折10次,中间切一刀,会得到多少面条呢?
方法1:
使用递归思想
F(N)=2 N=0 N表示对折次数
F(N)=2*F(N-1)-1 N>=1
分析图
方法2:引用https://www.cnblogs.com/longlongint/p/8412708.html
1.不对折:面条被切了一刀,得到2根面条。
2.对折一次:如图:
展开可得:3根面条 相当于切了2刀。
3.对折两次:如图:
展开一次可得:
再次展开:
共产生了5根面条 ,相当于切了4刀;
综上:可以看出,对折n次,切一刀,相当于在一条长直面条上切2^n刀 ,产生的面条数为2^n+1条。
所以对折10次,面条数为1024+1=1025.