我的代码:(为什么没有输出,高精函数(应该)没有问题)
#include<bits/stdc++.h>
using namespace std;
const int MAX=1111;
string add(string A,string B){
string ANS="";
int len1=A.size(),len2=B.size(),n1[MAX]={0},n2[MAX]={0},ans[MAX]={0};
for(int i=0;i<len1;i++)n1[len1-1-i]=A[i]-'0';
for(int i=0;i<len2;i++)n2[len2-1-i]=B[i]-'0';
int k=0,mlen=max(len1,len2);
for(int i=0;i<mlen;i++){
ans[i]=k+n1[i]+n2[i];
if(ans[i]>9){
ANS=char(ans[i]%10+'0')+ANS;
k=1;
}else{
k=0;
}
}
if(k){
ANS="1"+ANS;
}
return ANS;
}
int n;
string a="1",b="1",c;
int main(){
cin>>n;
for(int i=0;i<n;i++){
c=add(a,b);
a=b;
b=c;
}
cout<<c;
return 0;
}