0
已解决
李锦昊
中级天翼
中级天翼
90分求解
代码
#include<bits/stdc++.h>
using namespace std;
char x[120000];
int s,n,sum,a[120000],b[120000];
string s1,s2;
int main() {
cin>>n;
s1="1";
s2="2";
for(int j=2; j<n; j++) {
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
a[0]=s1.size();
b[0]=s2.size();
for(int i=1; i<=a[0]; i++) {
a[i]=s1[a[0]-i]-'0';
}
for(int i=1; i<=b[0]; i++) {
b[i]=s2[b[0]-i]-'0';
}
sum=max(a[0],b[0]);
for(int i=1; i<=sum; i++) {
a[i]+=b[i];
a[i+1]+=a[i]/10;
a[i]%=10;
}
sum++;
while((a[sum]==0)&&(sum>1)) {
sum--;
}
s=0;
for(int i=sum; i>=1; i--) {
x[s]=a[i]+'0';
s++;
}
s1=s2;
s2=x;
}
cout<<s2<<endl;
return 0;
}