您的位置:首页 > 其它

切面条-简单数学模型

2016-03-13 19:22 225 查看
标题:切面条  

    一根高筋拉面,中间切一刀,可以得到2根面条。  

    如果先对折1次,中间切一刀,可以得到3根面条。  

    如果连续对折2次,中间切一刀,可以得到5根面条。  

    那么,连续对折10次,中间切一刀,会得到多少面条呢?  

答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。

解法:

一刀切下去有三部分,不管是对折的几次都是分三部分(如下图),那么假设第一部分为t1,第二部分是t2,第三部分是t3.



设当前折的参数为t1,t2,t3,下一折的参数为t1',t2',t3'

我们发现,下一折的

t3'=t3+t2,即当前折的t2并到当前的t3中,形成了新t3,

t2'=t1,当前折的t1移动2处变成t2

t1'=2^(n-1),每折一次,1处的褶都为2的次方

#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.0,double(i-1));//需注意,pow求次方的函数,两个参数均为double型,要强制转换  

    }  

    cout<<t1+t2+t3<<endl;  

    return 0;  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: