fork download
  1. #include <iostream>
  2. #define M 45
  3. using namespace std;
  4.  
  5. long long int f[M+1];
  6.  
  7. long long int fib(int n)
  8. {
  9. if (n > M) {printf("error\n"); return -1;}
  10. if (n == 0) return 1;
  11. if (n == 1)return 1;
  12. if (f[n])
  13. return f[n];
  14. long long int t = fib(n - 1) + fib(n - 2);
  15. f[n] = t;
  16. return t;
  17. }
  18.  
  19.  
  20. int main()
  21. {
  22. int n;
  23. while(scanf("%d",&n)==1)
  24. {
  25. printf("%lld\n",fib(n));
  26. }
  27. return 0;
  28. }
Success #stdin #stdout 0s 4404KB
stdin
0
1
2
3
4
5
6
10
30
42
stdout
1
1
2
3
5
8
13
89
1346269
433494437