题目描述
楼梯有 NN 阶,上楼可以一步上一阶,也可以一步上二阶。
编一个程序,计算共有多少种不同的走法。
输入格式
一个数字,楼梯数。
输出格式
输出走的方式总数。
输入输出样例
输入 4
输出 5
这差不多是最简单的递归(斐波那契数列)
def step(a):
if a>2:
return step(a-1) + step(a-2)
if a == 1:
return 1
if a == 2:
return 2
# 这难道不是代码段,说我缺少代码段
print(step(int(input())))
第3位可以由第1阶走两步或第2阶走一步得出。
第4位可以由第2阶走两步或第3阶走一步得出。
第5位可以由第3阶走两步或第4阶走一步得出。
......
到后一个楼梯的走法等于到它前两个楼梯走法之和,其中第二个楼梯是2,到第一个楼梯是1