problem description
有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少種走法?
input
輸入資料首先包含乙個整數n,表示測試例項的個數,然後是n行資料,每行包含乙個整數m(1<=m<=40),表示樓梯的級數。
output
對於每個測試例項,請輸出不同走法的數量
sample input
2 2
3sample output12
分析:第n級台階只能從第n-1層或n-2層上來,所以計算第n級只需要將n-1級的走法加上n-2級的走法
即:f(n)=f(n-1)+f(n-2)
很像斐波那契數列,是典型的遞迴問題
注意點:
//遞迴解法,但不是遞迴寫法
//遞迴寫起來可能會超時
#includeusing
namespace
std;
intmain()
if(m==2
) cout
if(m==3
) cout
cout
<}
return0;
}
HDUOJ 2041超級樓梯
problem description 有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少種走法?input 輸入資料首先包含乙個整數n,表示測試例項的個數,然後是n行資料,每行包含乙個整數m 1 m 40 表示樓梯的級數。output 對於每個測試例項,請輸出不同...
1 10 hduoj 2041 超級樓梯
problem description 有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少種走法?input 輸入資料首先包含乙個整數n,表示測試例項的個數,然後是n行資料,每行包含乙個整數m 1 m 40 表示樓梯的級數。output 對於每個測試例項,請輸出不同...
hdu 2041 超級樓梯
problem description 有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少種走法?input 輸入資料首先包含乙個整數n,表示測試例項的個數,然後是n行資料,每行包含乙個整數m 1 m 40 表示樓梯的級數。output 對於每個測試例項,請輸出不同...