楼梯上有n阶台阶,上楼时可以一步上1阶,也可以一步上两阶,编写算法计算共有多少种不同的上楼梯的方法。

来源:互联网 发布:淘宝网京东商城拉箱 编辑:程序博客网 时间:2024/04/27 21:02

数学模型:此问题如果按照习惯,从前向后思考,也就是从第一阶开始,考虑怎么样到第二阶、第三节、第四阶……则很难找到问题的规律;而反过来先思考“到第n阶有哪几种情况”,答案就简单了,只有两种情况;
(1) 从第n-1阶到第n阶
(2) 从第n-2阶到第n阶

此问题为斐波那契数列的应用。

#include <iostream>using namespace std;int fun(int n){    if (n>0)    {        if (1 == n)        {            return 1;        }        else if (2 == n)        {            return 2;        }        else        {            return fun(n-1) +fun(n-2);        }    }    else        return 0;}int main(){    int n;    cin>>n;    cout<<fun(n)<<endl;    return 0;}
0 0
原创粉丝点击