第二题:切面条(5' )
一根高筋拉面,中间切一刀,可以得到2根面条。
如果先对折1次,中间切一刀,可以得到3根面条。
如果连续对折2次,中间切一刀,可以得到5根面条。
那么,连续对折10次,中间切一刀,会得到多少面条呢?
答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。
在此基础上如果折一次,那么t3 = t3' + t2' , t2 = t1' ,t1 = 2^(n-1),(n是当前是第几次折),t1的计算方法就是每次折都是讲横着的面条翻了一倍,然后切下来之
后,因为右边是连着的,所以值是2^(n-1)。 因此方法得证。
快速解题思路: 直接找规律。
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int t1 = 1,t2 = 0,t3 = 1;
for(int i = 1; i <= 10; ++i){
t3 += t2;
t2 = t1;
t1 = pow(2,i-1);
}
cout<<t1+t2+t3<<endl;
return 0;
}
答案:1025