日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(大整数类Biginteger)大斐波数

發布時間:2025/3/12 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (大整数类Biginteger)大斐波数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目

Fibonacci數列,定義如下:
f(1)=f(2)=1
f(n)=f(n-1)+f(n-2) n>=3。
計算第n項Fibonacci數值。

輸入

輸入第一行為一個整數N,接下來N行為整數Pi(1<=Pi<=1000)。

輸出

輸出為N行,每行為對應的f(Pi)。

樣例輸入

5
1
2
3
4
5
樣例輸出

1
1
2
3
5

分析與解答:

biginteger分析參見:
https://blog.csdn.net/mrcrack/article/details/53263235
代碼:

#include<iostream> #include<vector> #include<cstring> using namespace std; struct BigInteger {static const int BASE = 100000000;static const int WIDTH = 8;vector<int> s;BigInteger(long long num = 0) { *this = num; } // 構造函數BigInteger operator = (long long num) { // 賦值運算符s.clear();do {s.push_back(num % BASE);num /= BASE;} while (num > 0);return *this;}BigInteger operator = (const string& str) { // 賦值運算符s.clear();int x, len = (str.length() - 1) / WIDTH + 1;for (int i = 0; i < len; i++) {int end = str.length() - i*WIDTH;int start = max(0, end - WIDTH);sscanf(str.substr(start, end - start).c_str(), "%d", &x);s.push_back(x);}return *this;}BigInteger operator + (const BigInteger& b) const {BigInteger c;c.s.clear();for (int i = 0, g = 0; ; i++) {if (g == 0 && i >= s.size() && i >= b.s.size()) break;int x = g;if (i < s.size()) x += s[i];if (i < b.s.size()) x += b.s[i];c.s.push_back(x % BASE);g = x / BASE;}return c;} };ostream& operator << (ostream &out, const BigInteger& x) {out << x.s.back();for (int i = x.s.size() - 2; i >= 0; i--) {char buf[20];sprintf(buf, "%08d", x.s[i]);for (int j = 0; j < strlen(buf); j++) out << buf[j];}return out; }istream& operator >> (istream &in, BigInteger& x) {string s;if (!(in >> s)) return in;x = s;return in; }int main(){BigInteger a,b,ans[1005];ans[1]=1;ans[2]=1;for(int i=3;i<=1001;++i){ans[i]=ans[i-1]+ans[i-2];}int n;cin>>n;while(n--){int i;cin>>i;cout<<ans[i]<<endl;} }

總結

以上是生活随笔為你收集整理的(大整数类Biginteger)大斐波数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。