1 条题解
-
0
C++ :
#include<iostream> #include<algorithm> using namespace std; const int N(4001); int fib[N][N/3]={0}; //ifstream cin("exam1.in"); //ofstream cout("exam1.out"); void add(int *a,int *b,int *c) { c[0]=max(a[0],b[0]); for (int i=1;i<=c[0];i++) { c[i]+=a[i]+b[i]; c[i+1]+=c[i]/10; c[i]%=10; } if (c[c[0]+1]) c[0]++; } void init() { fib[1][0]=fib[2][0]=1; fib[1][1]=fib[2][1]=1; for (int i=3;i<N;i++) add(fib[i-1],fib[i-2],fib[i]); } void output(int n) { for (int i=fib[n][0];i>0;i--) cout<<fib[n][i]; cout<<endl; } int main() { init(); int n; while (cin>>n) output(n); return 0; }
- 1
信息
- ID
- 594
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者