fork download
  1. //Fibonacci number using memoization.
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4.  
  5. int fibRec(int n, vector<int> &mem) {
  6.  
  7. // Base case
  8. if (n <= 1) {
  9. return n;
  10. }
  11.  
  12. // To check if output already exists
  13. if (mem[n] != -1) {
  14. return mem[n];
  15. }
  16.  
  17. // Calculate and save output for future use
  18. mem[n] = fibRec(n - 1, mem) + fibRec(n - 2, mem);
  19.  
  20. return mem[n];
  21. }
  22.  
  23. int fib(int n) {
  24. vector<int> mem(n + 1, -1);
  25. return fibRec(n, mem);
  26. }
  27.  
  28. int main() {
  29. int n = 10;
  30. cout << fib(n);
  31. return 0;
  32. }
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
55