题解 | #N阶楼梯上楼问题#
问题:
描述
N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(要求采用非递归)
输入描述:
输入包括一个整数N,(1<=N<90)。
输出描述:
可能有多组测试数据,对于每组数据, 输出当楼梯阶数是N时的上楼方式个数。
示例1
输入:
4
输出:
5
答案:
略微思考可以发现,想要抵达目标台阶n;仅有两种方法,
1.从n-1阶进一步;
2.从n-2阶进两步。(为什么n-2阶不可以进两个一步,因为n-2阶处进一步就抵达了n-1阶(此为第一种情况))
可以得到
{
f[1]=1
f[2]=2
f[n]=f[n-1]+f[n-2]
}
那么根据动态规划递推求解,直接生成一个数组。
#include<iostream>
using namespace std;long long answer[91];void Initial(){answer[1]=1;answer[2]=2;int i=3;while(i<=90){answer[i]=answer[i-1]+answer[i-2];i++;}return;
}int main(){Initial();int num;while(cin>>num){cout<<answer[num]<<endl;}return 0;
}
题解 | #N阶楼梯上楼问题#相关推荐
- C++:N阶楼梯上楼问题
题目描述 N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式.(要求采用非递归) 输入描述: 输入包括一个整数N,(1<=N<90). 输出描述: 可能有多组测试数据,对于每组数据 ...
- 7-2 N阶楼梯上楼问题 (15分) C++
题目 N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式.例如,当楼梯只有一阶时,只有一种方法:当楼梯有两阶时,可以每次跨一阶,跨两次,也可以每次跨两阶,跨一次,因此有两种方法. 输入格式: ...
- 关于N阶楼梯上楼问题
题目描述: N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式.(要求采用非递归) 输入: 输入包括一个整数N,(1<=N<90). 输出: 可能有多组测试数据,对于每组数据, 输 ...
- N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式
题目描述: N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式. 输入: 输入包括一个整数N. 输出: 可能有多组测试数据,对于每组数据, 输出当楼梯阶数是N时的上楼方式个数. 样例输入: 4 ...
- N阶楼梯上楼问题(递推问题)--C++实现
题目描述 N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式.(要求采用非递归) 输入描述: 输入包括一个整数N,(1<=N<90). 输出描述: 可能有多组测试数据,对于每组数据 ...
- N阶楼梯上楼问题(递推求解)
N阶楼梯上楼问题:一次可以走一阶或者两阶,问有多少种上楼方式. 因为只可能从n-1阶和n-2阶走到n阶,因此走到n阶的方式数量=走到n-1阶的方式数量+走到n-2阶的方式的数量. 也就是F[n]=F[ ...
- 梯有N阶,上楼可以一步上一阶,也可以一次上二阶(Java实现)
走楼梯问题 组合数学和动态规划算法 欢迎查看相关动态规划问题:动态规划之:让你轻松理解背包算法 本文尝试对"走楼梯"问题做一个较为系统的解释. 代码 ...
- n阶台阶 java_上N阶楼梯,一次走1个台阶或者2个台阶,共有多少种走法?
假设你需要走n 阶楼梯才能到达楼顶,走楼梯的方式有两种,一次走1个台阶或者一次走2个台阶,问有多少种不同的方法可以走完这n阶楼梯? 先穷举几个n值分析下: n=1,共1种; {1} n=2,共2种; ...
- 【算法题解】爱因斯坦楼梯 - 若每步上2阶,最后剩下1阶;若每步上3阶,最后剩2阶;若每步上5阶最后剩下4阶;若每步上6阶最后剩5阶;只有每步上7阶最后刚好一阶也不剩。请问该阶梯至少有多少阶
题目描述:爱因斯坦楼梯 - 有一个长阶梯,若每步上2阶,最后剩下1阶:若每步上3阶,最后剩2阶:若每步上5阶,最后剩下4阶:若每步上6阶,最后剩5阶:只有每步上7阶,最后刚好一阶也不剩.请问该阶梯至少 ...
最新文章
- 用鼠标拖动图片的JS代码
- 《Redis 系列》- list命令
- HDU2020 绝对值排序
- java学习笔记(十二)----集合
- Serverless 工程实践 | Serverless 应用优化与调试秘诀
- 最优化课堂笔记06-无约束多维非线性规划方法(含重点)
- CMD(命令提示符)-------javac编译程序出现“”编码GBK的不可映射字符“”
- [资料整理]记一下英特尔atom处理器
- Hive UDF开发
- mysql5.7.22.zip使用,mysql5.7.22 zip 版安装
- 优班图linux 命令,Linux 常用命令
- 最常用20000英语单词表_家长最值得一看的文章如何培养孩子好的学习习惯!
- oracle 打包导出表,数据库导出表数据库
- 茶几上 清明上河图 诗句
- LabVIEW虚拟数字示波器
- 虚拟桌面和云桌面办公系统
- 复合函数的极限与连续
- 独立键盘检测 proteus仿真小实验
- 笨鸟的平凡之路-记一次spark错误
- Spring面试题(2022最新版)