題目描述 N階樓梯上樓問題:一次可以走兩階或一階,問有多少種上樓方式。(要求采用非遞歸) 輸入 輸入包括一個整數N,(1<=N<90)。 輸出 可能有多組測試數據,對於每組數據, 輸出當樓梯階數是N時的上樓方式個數。 樣例輸入 6 樣例輸出 13 提示 [+] *** 提示已隱藏,點擊上方 [+] 可顯示 *** 來源 2008年華中科技大學計算機研究生保研機試真題 [cpp] /********************************* * 日期:2013-2-21 * 作者:SJF0115 * 題號: 天勤OJ 題目1156: N階樓梯上樓問題 * 來源:http://acmclub.com/problem.php?id=1156 * 結果:AC * 來源:2008年華中科技大學計算機研究生保研機試真題 * 總結:超出int范圍 **********************************/ #include<stdio.h> #include<stdlib.h> #include<string.h> long long int array[91]; int Step(){ array[0] = 0; array[1] = 1; array[2] = 2; for(int i = 3;i < 91;i++){ array[i] = array[i-1] + array[i-2]; } return 0; } int main() { int n; Step(); while(scanf("%d",&n) != EOF){ printf("%lld\n",array[n]); } return 0; } /********************************* * 日期:2013-2-21 * 作者:SJF0115 * 題號: 天勤OJ 題目1156: N階樓梯上樓問題 * 來源:http://acmclub.com/problem.php?id=1156 * 結果:AC * 來源:2008年華中科技大學計算機研究生保研機試真題 * 總結:超出int范圍 **********************************/ #include<stdio.h> #include<stdlib.h> #include<string.h> long long int array[91]; int Step(){ array[0] = 0; array[1] = 1; array[2] = 2; for(int i = 3;i < 91;i++){ array[i] = array[i-1] + array[i-2]; } return 0; } int main() { int n; Step(); while(scanf("%d",&n) != EOF){ printf("%lld\n",array[n]); } return 0; }