课程29_17 1125 爬楼梯
题目:
题目描述:
楼梯有n级台阶,上楼可以一步上1级,也可以一步上2级,计算有多少种不同的走法
其中n<=35
输入描述:
一个正整数n,占一行
输出描述:
一个整数,占一行,问题的结果,数据保证输出在32位有符号整型数据范围内。
样例输入:
20
33
样例输出:
10946
5702887
解析:
非常经典的子问题题目。
何为子问题问题(听起来有些拗口)呢?如果某一个问题可以分解为确定个数个更小的问题的话,这就是一个子问题问题。对于这种问题,我们直接把它分解为若干个更小的问题,并且去解决这些更小的问题(同时这些更小的问题也有可能还可以分成更更小的问题),直到这些小问题都小到足够简单去解决,我们就得到了想要知道的答案。而这些小问题,就是我们常说的子问题。
如果想用递归的方式做这种问题,我们需要注意几个要点:
- 一个问题被分解后的小问题和它本身是不是同一个类型的?
举个例子,求定积分,我们会先求它的原函数