w - 大菲波數
fibonacci數列,定義如下:
f(1)=f(2)=1
f(n)=f(n-1)+f(n-2) n>=3。
計算第n項fibonacci數值。
input
輸入第一行為乙個整數n,接下來n行為整數pi(1<=pi<=1000)。
output
輸出為n行,每行為對應的f(pi)。
sample input
5 1
2 3
4 5
sample output
1 1
2 3
5資料量大,unsigned long long 也存不下,所以寫個大整數,這裡要特別注意的是大整數算完結果是逆序的,要把它逆轉回來。
#include
#include
#include
#define maxn 1010
using
namespace
std;
char f[maxn][maxn];
void add(char* ans,char* s1,char* s2)
if(j>=0)
ret[l++] = x%10 + '0';
c = x/10;
}if(c)
ret[l++] = c+'0';
ret[l] = '\0'; //這裡得到的結果是逆序了的 之前這裡沒逆轉回來錯了
//把他逆過來
int cnt = 0;
for(int i=l-1;i>=0;i--)
ans[cnt] = '\0';
// return ret;
}int main()
// cout<<"y";
while(n--)
另外在網上看到了另一種簡單的大數加法處理,挺不錯的,在這貼一下鏈結
別人的大數處理
他之所以不用處理尾部的進製,因為他的**認為數字不會進製到501位,小了的話可以自己調。
hdu 大菲波數
大菲波數 problem description fibonacci數列,定義如下 f 1 f 2 1 f n f n 1 f n 2 n 3。計算第n項fibonacci數值。input 輸入第一行為乙個整數n,接下來n行為整數pi 1 pi 1000 output 輸出為n行,每行為對應的f p...
ZJUT1266 大菲波數
寫了乙個大數加,一次ac。但是時間上感覺沒有優勢。對比了別人的,感覺有點遠。不知道是不是細節處理的問題。求優化。以下貼 include using namespace std char fp 1001 250 void add int a,int b,int c else for fp b i 0 ...
HDU1715 大菲波數
problem description fibonacci數列,定義如下 f 1 f 2 1 f n f n 1 f n 2 n 3。計算第n項fibonacci數值。input 輸入第一行為乙個整數n,接下來n行為整數pi 1 pi 1000 output 輸出為n行,每行為對應的f pi sam...