高精度(看看你的颠佬怎么样)
2024-08-13 16:15:52
发布于:广东
高精度斐波那契
#include<bits/stdc++.h>
using namespace std;
string JiaFa(string a,string b){
int la=a.size(),lb=b.size();
int l=max(la,lb);
vector<int>A(1000000,0);
vector<int>B(1000000,0);
vector<int>C(1000005,0);
for(int i=0;i<la;i++)A[i]=a[la-i-1]-'0';
for(int i=0;i<lb;i++)B[i]=b[lb-i-1]-'0';
for(int i=0;i<l;i++){
C[i]+=A[i]+B[i];
if(C[i]>=10){
C[i]-=10;
C[i+1]++;
}
}
string res="";
if(C[l]>0)res+='1';
for(int i=l-1;i>=0;i--){
res+=C[i]+'0';
}
return res;
}
string a[1005];
int main(){
int n;
cin>>n;
a[1]=a[2]='1';
for(int i=3;i<=n;i++){
a[i]=JiaFa(a[i-1],a[i-2]);
}
cout<<a[n];
}
这里空空如也
有帮助,赞一个