一只猴子要爬有20级台阶的山,一次可选择跳1级,或2级,或3级台阶,求上山有多少种不同的方法?
猴子要到第20级台阶,最后一次可选择从第19级跳一级台阶上去,或者从第18级跳2级上去,或者从17级跳3级上去,上山的所有方法就是:从第19级跳的方法+从第18级跳的方法+从17级跳的方法,用f(20)表示上20级台阶的方法,即:fun(20)=fun(19)+fun(18)+fun(17)
,如果有n级台阶就是:fun(n)=fun(n-1)+fun(n-2)+fun(n-3)
代码如下:
def fun(n):
if n==1:
return 1
elif n==2:
return 2
elif n==3:
return 4
else:
return fun(n-1)+fun(n-2)+fun(n-3)
num=fun(20)
print(num)