題目
樓梯有n階,上樓可以一步上一階,也可以一步上二階。
編乙個程式,計算共有多少種不同的走法。
乙個數字,樓梯數。
走的方式幾種。
輸入 #1 複製
4輸出 #1 複製
5說明/提示
60% n<=50
100% n<=5000)
原本一看,這不是 斐波那契數列 嗎,直接公式下去寫完,(dp[i] = dp[i-1]+ dp[i-2];)
結果超時好多。。。。。其實這個題標註(高精度)那有這樣就搞定的。。。
//int n;
//int dp[5005];
//int main()
// cout《由 斐波那契數列 得, c (i)= c(i-1)+c(i-2); 這裡我們把c(i-1)當成a,c(i-2)當成b,c(i)當成c。
比如: a是第一階,a=1(一種走法),b是第二階,b=2(兩種走法)…c是三階,c = a+b = 3 (三種走法).
然後我們把b賦給a,c賦給b,(這時a是第二階,b是第三階)然後再執行一次 c = a+b;(c自然是第四階)
由此類推,能得到 第n階 有幾種走法。
然後,我們把它換成高精度的寫法,就ok了。。。。。。
#include#includeusing namespace std;
const int maxn = 5005;
int a[maxn],b[maxn],c[maxn];
int n;
int main()
//a= b;
if(c[lc+1]>0)lc++;
for(int j=1;j<=lc;j++)
//b =c;
for(int j=1;j<=lc;j++) }
if(n<3)
return 0;
}
高精度 數樓梯
洛谷 p1255 數樓梯 題目描述 樓梯有n階,上樓可以一步上一階,也可以一步上二階。編乙個程式,計算共有多少種不同的走法。分析 只用稍微用用腦子就可以看出,這是一道斐波那契數列的問題 不過省略了開頭的1,即這裡的數列為 12358 注意n 0,1,2的情況。然而這題需要高精所以寫的特別長 incl...
高精度數演算法 加法
基本資料型別 長度有限。所以大的資料被單獨拿出來。高精度演算法就是模擬我們在紙上的運算。要死要死要死 我忘記了。乙個空間有剩餘的int後面是自帶補0的啊。還有平時沒有注意到的三目運算子 length str1 str2 str1 str2 上 include include define max 1...
php高精度數計算
一 前方有坑 php在使用加減乘除等運算子計算浮點數的時候,經常會出現意想不到的結果,特別是關於財務資料方面的計算,給不少工程師惹了很多的麻煩。比如今天工作終於到的乙個案例 a 2586 b 2585.98 var dump a a a b 期望的結果是 float 0.02 實際結果 float ...