上臺階

題目描述:

有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少走法?

注:規定從一級到一級有0種走法。

輸入

 

輸入數據首先包含一個整數n(1<=n<=100),表示測試實例的個數,然後是n行數據,每行包含一個整數m,(1<=m<=40), 表示樓梯的級數。

 

樣例輸入

 

2

2

3

 

輸出

 

對於每個測試實例,請輸出不同走法的數量。

 

樣例輸出

 

1

2

看到這種問題就想到遞歸:

# -*-encoding:utf-8-*-
def taijie(m):
    end = 0
    if m == 1:
        end = 1
    else:
        if m == 2:
            end += taijie(m - 1)
        else:
            end += taijie(m - 1)
            end += taijie(m - 2)
    return end


n = input()
for i in range(n):
    m = input()
    print(taijie(m))

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章