Faça uma matriz para armazenar os números calculados na memória

Estou tentando criar uma matriz para armazenar números calculados da fórmula e colocá-los na memória. Portanto, mais tarde, quando o número for chamado novamente, ele não precisará ser recalculado. Porque já está na memória.

A fórmula é

fib(n-1) + fib(n-2);

O resto do meu código é este

#include <iostream>
using namespace std;

// Returns the nth number in the fibonacci sequence
int fib(int n);

int main()
{
    cout << fib(46) << endl;

    system("pause");
    return 0;
}

int fib(int n)
{
    // Base cases
    if (n == 1 || n == 2) return 1;

    // Recursive cases
    return fib(n-1) + fib(n-2);
}

Obrigado rapaze

questionAnswers(4)

yourAnswerToTheQuestion