p1255 【高精度 string實現】

string 處理高精度

斐波那契數列 的 高精度

#include<iostream>
#include<stdio.h>
#include<string>
#include<string.h>
#include<algorithm>
#include<queue>
#include<stack>
#include<map>
#include<cmath>
#include<iomanip>
using namespace std;
typedef int _____I;
const int N=1e6+10;
const int INF=0x3f3f3f3f;
#define ERX(___I,__I,_I) for(_____I ___I = __I;___I <  _I; ___I++)
#define ERD(___I,__I,_I) for(_____I ___I = __I;___I <= _I; ___I++)
#define RED(___I,__I,_I) for(_____I ___I = __I;___I >= _I; ___I--)

int n;
string f[5050];


string add(string a,string b){
    if(a.size()<b.size())   swap(a,b);
    int i,j;
    for(i=a.size()-1,j=b.size()-1;i>=0;i--,j--){
        a[i]=char(a[i]+(j>=0?b[j]-'0':0));//如果j大於等於0 也就是b加完了
        if(a[i]-'0'>=10){
            a[i]=char((a[i]-'0')%10+'0');//餘數
            if(i) a[i-1]++;
            else a="1"+a;
        }
    }
    return a;
}
int main(){
    cin>>n;
    f[0]="0";
    f[1]="1";
    f[2]="2";
    for(int i=3;i<=n;i++)   f[i]=add(f[i-1],f[i-2]);
    cout<<f[n]<<endl;

    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章