one_ZHI @ 2023-07-21 11:07:43
#include<bits/stdc++.h>
using namespace std;
long long int n,t[11111],a[10011][11111],lena,lenb;
int main(){
cin>>n;
a[1][1]=1;
a[1][2]=1;
a[1][3]=1;
for(int i=1;i<=n;i++){
lena=1;
lenb=1;
if(i<=3){
t[1]++;
}
else {
for(int j=1;j<=max(lena,lenb);j++){
a[j][i]=a[j][i-1]+a[j][i-2];
if(a[j][i]>=10){
a[j+1][i]=a[j][i]/10;
a[j][i]%=10;
}
t[j]+=a[j][i];
if(t[j]>=10){
t[j+1]+=t[j]/10;
t[j]%=10;
}
if(a[j+1][i]) lena++;
if(t[j+ 1]) lenb++;
}
}
}
lenb=50;
while(t[lenb]==0) lenb--;
for(int i=lenb;i>=1;i--) cout<<t[i];
return 0;
}
by yinbe @ 2023-10-12 21:26:05
@one_ZHI 初始化不对
a[1][1]=1;
a[1][2]=1;
a[1][3]=1;
改为
a[1][1]=1;
a[1][2]=2;
a[1][3]=3;