3 条题解
-
3
#include<bits/stdc++.h> using namespace std; int a[1000],b[1000],n; int main(){ cin>>n; a[0]=1; a[1]=1; for(int i=1;i<=n;i++){ int x=0; for(int j=1;j<=a[0];j++){ a[j]=a[j]*2+x; x=a[j]/10; a[j]=a[j]%10; if(x>0 && j>=a[0]) a[0]++; } b[0]=max(a[0],b[0]); x=0; for(int j=1;j<=b[0];j++){ b[j]=b[j]+a[j]+x; x=b[j]/10; b[j]=b[j]%10; } if(x>0){ b[0]++; b[b[0]]=x; } } for(int i=b[0];i>=1;i--) cout<<b[i]; return 0; }
-
-1
#include<bits/stdc++.h> using namespace std; long long a[111111]={0,1},b[111111]={0,0},n,lena,lenb; int main() { cin>>n; lena=1; lenb=1; for(int i=1;i<=n;i++){ for(int j=1;j<=lena;j++){ a[j]=a[j]*2; } for(int j=1;j<=lena;j++){ if(a[j]>9){ a[j+1]+=a[j]/10; a[j]=a[j]%10; } } if(a[lena+1]>0){ lena++; } for(int j=1;j<=lenb;j++){ b[j]+=a[j]; if(b[j]>9){ b[j+1]++; b[j]=b[j]%10; if(j==lenb){ lenb++; } } } } for(int i=lenb;i>=1;i--){ cout<<b[i]; } return 0; }
-
-2
#include<bits/stdc++.h> using namespace std; int a[101],b[101],n; int main(){ cin>>n; a[0]=1; a[1]=1; b[0]=1; for(int i=1;i<=n;i++){ int x=0; for(int j=1;j<=a[0];j++){ a[j]=a[j]*2+x; x=a[j]/10; a[j]=a[j]%10; if(x>0&&j>=a[0]) a[0]++; } b[0]=max(a[0],b[0]); x=0; for(int j=1;j<=b[0];j++){ b[j]=b[j]+a[j]+x; x=b[j]/10; b[j]=b[j]%10; } if(x>0){ b[0]++; b[b[0]]=x; } } for(int i=b[0];i>=1;i--){ cout<<b[i]; } return 0; }
- 1
信息
- ID
- 279
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 8
- 标签
- 递交数
- 190
- 已通过
- 23
- 上传者