3 条题解
-
0
#include <bits/stdc++.h> using namespace std; int n; string a[1010]; string plusg(string x,string y){ int a[1000]={0},b[1000]={0},c[1010]={0}; string gentle; for (int i=0;i<(int)x.size();i++)a[i]=x[(int)x.size()-1-i]-'0'; for (int i=0;i<(int)y.size();i++)b[i]=y[(int)y.size()-1-i]-'0'; int len=max((int)x.size(),(int)y.size()); for (int i=0;i<len;i++){ c[i]+=a[i]+b[i]; if (c[i]>=10){ c[i+1]+=c[i]/10; c[i]%=10; } } while(len>0&&c[len]==0)len--; for (int i=len;i>=0;i--)gentle+=c[i]+'0'; return gentle; } int main(){ std::cin>>n; a[1]="1"; a[2]="2"; for (int i=3;i<=n;i++)a[i]=plusg(plusg(a[i-1],a[i-1]),a[i-2]); cout<<a[n]; return 0; }
- 1
信息
- ID
- 1486
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 56
- 已通过
- 16
- 上传者