樓梯有n階,上樓可以一步上一階,也可以一步上二階。
編乙個程式,計算共有多少種不同的走法。
乙個數字,樓梯數。
走的方式幾種。
輸入
4輸出
560% n<=50
100% n<=5000)
這道題目自己先手動算出前幾個答案,會發現是乙個斐波那契數列。
不過簡單分析也可得知這是乙個斐波那契數列(其中fibo[n]表示第n階樓梯的走法總數):
對於第n階樓梯可以有兩種狀態得來:先走n-1階然後走一步,以及走n-2階然後走兩步,即fibo[n-1]+fibo[n-2]。
這裡要注意的資料量很大,要用高精度加法。
#include#includeusing namespace std;
int fibo[5010][5010] = ,, }; //其中fibo[i][0]為當前位的位數
void add(int n)
if (c != 0)
else }
int main()
for (int i = fibo[n][0]; i >=1 ; i--)
return 0;
}
P1255 數樓梯(斐波那契數列,高精度)
題目描述 樓梯有 nn 階,上樓可以一步上一階,也可以一步上二階。編乙個程式,計算共有多少種不同的走法。輸入格式 乙個數字,樓梯數。輸出格式 輸出走的方式總數。輸入輸出樣例 輸入 1 4輸出 1 5說明 提示 對於 60 的資料,n 50 對於 100 的資料,n 5000 經過演算第4層的走法,發...
P1255 數樓梯 斐波那契數列 高精度
樓梯有n階,上樓可以一步上一階,也可以一步上二階。編乙個程式,計算共有多少種不同的走法。乙個數字,樓梯數。走的方式幾種。輸入 4輸出 560 n 50 100 n 5000 這道題目自己先手動算出前幾個答案,會發現是乙個斐波那契數列。不過簡單分析也可得知這是乙個斐波那契數列 其中fibo n 表示第...
洛谷 P1255 數樓梯
樓梯有 nn 階,上樓可以一步上一階,也可以一步上二階。編乙個程式,計算共有多少種不同的走法。乙個數字,樓梯數。輸出走的方式總數。輸入 1複製 4輸出 1複製 5分析 說實話這題我真的快寫吐了,剛拿到的時候,開心的一批,遞推第一篇第一題,這麼水的嗎,不禁想起當年初次接觸acm,室友從cf上選了幾道題...