楼梯上有n阶台阶,上楼时可以一步上1阶,也可以一步上两阶,编写算法计算共有多少种不同的上楼梯的方法。
2016-04-08 10:45
656 查看
数学模型:此问题如果按照习惯,从前向后思考,也就是从第一阶开始,考虑怎么样到第二阶、第三节、第四阶……则很难找到问题的规律;而反过来先思考“到第n阶有哪几种情况”,答案就简单了,只有两种情况;
(1) 从第n-1阶到第n阶
(2) 从第n-2阶到第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; }
相关文章推荐
- 每天laravel-20160709|CallEvent
- C++第二次实验
- 深入理解Java:类加载机制及反射
- sql server 2008 r2 打开ssms管理工具,提示“值不能为空”问题
- Python:文件的读取、创建、追加、删除、清空
- Unity3D手游开发日记(8) - 运动残影效果
- 关于bootstrap-fileinput
- Visio 画图去掉页边距的解决办法
- 线程的状态记录
- Linux学习要点总结
- Android -- Looper.prepare()和Looper.loop() —深入版
- activiti自定义流程之自定义表单(三):表单列表及预览和删除
- Eclipse jar打包和命令行运行
- C++实验3-类和对象2
- C++第三次作业
- 基于注解的Spring MVC的URL与Controller映射关系提取的实现分析
- ios企业版证书怎样配置plist文件里边的url
- 关于bootstrap-fileinput
- Linux nohup --不挂起,继续执行其操作
- Android 程序框架设计