1. 程式人生 > >遞迴求解走臺階問題,一次可以走一步、兩步、三步、...、n步(經典面試題——增強版走臺階)

遞迴求解走臺階問題,一次可以走一步、兩步、三步、...、n步(經典面試題——增強版走臺階)

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))