C++ Online Compiler
Example: Fibonacci Series - Dynamic Programming (Memoization) in C++
C
C++
C#
Java
Python
PHP
main.cpp
STDIN
Run
// Fibonacci Series - Dynamic Programming (Memoization) #include <iostream> #include <vector> // Required for std::vector using namespace std; // Use a global or passed vector to store computed values vector<int> memo; int fibonacciDP(int n) { // Step 1: Handle base cases if (n <= 0) { return 0; } else if (n == 1) { return 1; } // Step 2: Check if the value is already computed if (memo[n] != -1) { // -1 indicates not computed yet return memo[n]; } // Step 3: Compute and store the value memo[n] = fibonacciDP(n - 1) + fibonacciDP(n - 2); return memo[n]; } int main() { int count = 10; // Number of Fibonacci terms to generate // Step 4: Initialize memoization table with -1 (or any indicator for uncomputed) memo.assign(count + 1, -1); cout << "Fibonacci Series (Dynamic Programming for " << count << " terms): "; // Step 5: Loop to print each term using the DP function for (int i = 0; i < count; ++i) { cout << fibonacciDP(i) << " "; } cout << endl; return 0; }
Output
Clear
ADVERTISEMENTS