2 条题解
-
0
朴实无华
#include<bits/stdc++.h> #include<string> using namespace std; int a[10000]; int b[10000]; int c[10000]; int main() { long long o; cin >>o; int la,lb,lc; if(o==1){cout<<"1";} else{ for(int i=2; i<=o; i++){ if(i==2){ la=1; a[1]=1; } else{ la=lc; } lb=0; int k=i; for(int j=1; j>0; j++){ lb++; b[j]=k%10; k=k/10; if(k<10 && k!=0){ b[j+1]=k; lb++; break; } if(k==0){break;} } lc=max(lb,la)+1; for(int j=1; j<=max(la,lb); j++){ c[j]=a[j]+b[j]+c[j]; c[j+1]=c[j+1]+c[j]/10; c[j]=c[j]%10; } if(c[lc]==0){lc--;} for(int j=1; j<=lc; j++){ a[j]=c[j]; c[j]=0; } } for(int i=lc; i>=1; i--){ cout<<a[i]; } } return 0; }
- 1
信息
- ID
- 283
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 3
- 标签
- 递交数
- 35
- 已通过
- 21
- 上传者