1、问题描述
现在有一个台阶,一共有n阶,你一次性可以走1步、2步、3步、......、n步。问:一共有多少种走法。
2、求解思路
第一步走1阶:那么这种情况下的走法数量和剩下n-1阶的走法数量有关;
第一步走2阶:那么这种情况下的走法数量和剩下n-2阶的走法数量有关;
第一步走3阶:那么这种情况下的走法数量和剩下n-3阶的走法数量有关;
第一步走4阶:那么这种情况下的走法数量和剩下n-4阶的走法数量有关;
……
第一步走n阶:那么这种情况下的走法数量和剩下0阶的走法数量有关;
——————————————
那么n阶台阶的所有走法数量就应该是上面所有走法数量的累和。
3、编程实现(递归实现)
n = int(input())
def fun(n):
step = 0
if n==0:
return 1
if n == 1:
return 1
for i in range(1,n+1):
step += fun(n-i)
return step
print(fun(n))