您的位置:首页 > 其它

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

2016-04-08 10:45 656 查看
数学模型:此问题如果按照习惯,从前向后思考,也就是从第一阶开始,考虑怎么样到第二阶、第三节、第四阶……则很难找到问题的规律;而反过来先思考“到第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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: