keverman

Fibonacci Numbers

Jan 18th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.31 KB | None | 0 0
  1. int fib(int n, long long *F = F)
  2. {
  3.     if(n == 0) return 0;
  4.     if(n == 1 || n == 2) return (F[n] = 1);
  5.     if(F[n]) return F[n];
  6.  
  7.     int k = (n & 1) ? (n + 1) / 2 : n / 2;
  8.  
  9.     F[n] = (n & 1) ? (fib(k) * fib(k) + fib(k - 1) * fib(k - 1))
  10.            : (2 * fib(k - 1) + fib(k)) * fib(k);
  11.  
  12.     return F[n];
  13. }
Add Comment
Please, Sign In to add comment