N阶台阶,假设每次走一步或两步,计算共有多少种走法。
以f(n)表示走N-n阶台阶有多少种方式
n表示目前剩余台阶数
首先计算最终状态(即走法少于2种的时候):
最终状态为n=0,即到达终点记一种走法
当n=1时,走法只有f(n-1),所以也可直接返回1
中途每一台阶都有两种走法,所以有两个递归函数调用,以分支形式,最终每条分支到达终点都会增加1种走法返回,所以最先调用的函数会获得所有走法的记数
def up(n):
if n < 2:
return 1
else:
return up(n - 1) + up(n - 2)
# 两种等价
def up(n):
if n == 0:
return 1
if n == 1:
return up(n

这篇博客介绍了如何计算走N阶楼梯的不同方式,通过递推公式展示了从只走一步或两步到可走三步的情况,解释了递推过程和最终方程的合理性。

2855

被折叠的 条评论
为什么被折叠?



