爬阶梯
爬阶梯,需要爬完n阶才能到达楼顶
每步可以爬1或2个台阶。
请问有多少种不同的方法可以爬到楼顶
(给定n是一个正整数)
输入2,输出2
输入3,输出3
分析如下:
一阶楼梯:1种方法
两阶楼梯:2种方法
三阶楼梯:3种方法
四阶楼梯:5种方法
五阶楼梯:8种方法
六阶楼梯:13种方法
f(n) = f(n-2) + f(n-1)
结果就是斐波那契数列,只不过缺少第一项而已。
def climbStairs_function_one (n):
if n < 3:
return n
first = 1
second = 2