C++ Program to Find Fibonacci Numbers using Dynamic Programming

The Fibonacci sequence is like this,

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,……

In this sequence the nth term is the sum of (n-1)th and (n-2)th terms.

To generate we can use the recursive approach, but in dynamic programming the procedure is simpler. It can store all Fibonacci numbers in a table, by using that table it can easily generate the next terms in this sequence.

Input − Take the term number as an input. Say it is 10

Output − The 10th fibinacci term is 55




max number of terms.


The nth Fibonacci term.

define array named fibo of size n+2
fibo[0] := 0
fibo[1] := 1
for i := 2 to n, do
fibo[i] := fibo[i-1] + fibo[i-2]
return fibo[n]

Example Code

using namespace std;
int genFibonacci(int n) {
   int fibo[n+2]; //array to store fibonacci values
   // 0th and 1st number of the series are 0 and 1
   fibo[0] = 0;
   fibo[1] = 1;
   for (int i = 2; i <= n; i++) {
      fibo[i] = fibo[i-1] + fibo[i-2]; //generate ith term using previous
      two terms
   return fibo[n];
int main () {
   int n;
   cout << "Enter number of terms: "; cin >>n;
   cout << n<<" th Fibonacci Terms: "<<genFibonacci(n)<<endl;


Enter number of terms: 10
10th Fibonacci Terms: 55