遞迴求解走臺階問題,一次可以走一步、兩步、三步、...、n步(經典面試題——增強版走臺階)
阿新 • • 發佈:2018-11-10
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))