(遞推入門)超級樓梯 HDOJ

2021-08-04 01:40:26 字數 695 閱讀 3014

超級樓梯

problem description

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

input

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

output

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

sample input

2 2

3 sample output

1 2

author

lcysource

2005實驗班短學期考試

recommend

lcy總結:

一開始用的遞迴寫的

,超時,

long

long cal(int n)

從**中可以看到,如果我要算cal(7),那麼我就會計算cal(6),而我計算cal(8)的時候,又會計算cal(6),明顯重複了,重複計算量大.

在這個遞迴中,cal(n) = cal(n-1) + cal(n-2)

?? 這個式子再熟悉不過了吧

注意,這裡n是我們到達終點要走的距離!

我們知道cal(1) = 1,cal(2) = 2;根據式子依次類推,就可以得到我們想要的值了。

超級樓梯 遞推

題目 有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少種走法?輸入 輸入資料首先包含乙個整數n,表示測試例項的個數,然後是n行資料,每行包含乙個整數m 1 m 40 表示樓梯的級數。輸出 對於每個測試例項,請輸出不同走法的數量 sample input22 3sa...

超級樓梯(遞推式)

problem description 有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少種走法?input 輸入資料首先包含乙個整數n,表示測試例項的個數,然後是n行資料,每行包含乙個整數m 1 m 40 表示樓梯的級數。output 對於每個測試例項,請輸出不同...

HDOJ 2041 超級樓梯

題目鏈結 problem description 有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少種走法?input 輸入資料首先包含乙個整數n,表示測試例項的個數,然後是n行資料,每行包含乙個整數m 1 m 40 表示樓梯的級數。output 對於每個測試例項,...