# C++ Program to Display Fibonacci Series

Learn: What to find fibonacci number using different methods, here you will find multiple methods to find the fibonacci number using C++ programs.
Submitted by Shubham Singh Rajawat, on June 23, 2017 [Last updated : February 26, 2023]

Fibonacci numbers are the numbers having a specific sequential pattern.

0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34, ... this type of sequence follow a mathematical pattern.

Fn = Fn-1 + Fn-2 , where F0 = 0 , F1 = 1

Where n = 2,3,4,5,6,7,8, ...

## Finding Fibonacci Number Using Recursion

In recursion a lot work is done as it repeatedly calculates the number and solves same case more than one time.

For Example:

As it calculates Fibo(1) & Fibo(0) multiple time

### C++ code to find the Fibonacci number using recursion

```#include <iostream>
using namespace std;

int Fib(int n)
{
if (n <= 1)
return n;

/*recusively add the numbers*/
return Fib(n - 1) + Fib(n - 2);
}

int main()
{
/*position of the element starting from 0...n*/
int n;
cout << "Enter the number :";
cin >> n;

cout << "Number at " << n << "th place is " << Fib(n) << endl;

return 0;
}
```

#### Output

```Enter the number :10
Number at 10th place is 55
```

## Finding Fibonacci Number Using Dynamic Programming Approach

A dynamic programming algorithm remembers the past result and uses them to find new result means it solve complex problems by breaking it down into a collection of simpler subproblems, then solving each of those subproblems only once ,and storing their solution for future use instead of recomputing their solutions again.

### Algorithm

```Fib(n)
if n=0
return 0
else
prev_Fib=0,curr_Fib=1
repeat n-1 times  /*if n=0 it will skip*/
next_Fib=prev_Fib+curr_Fib
prev_Fib=curr_Fib
curr_Fib=next_Fib
return curr_Fib
```

### C++ code to find the Fibonacci number using dynamic programming method

```#include <iostream>
using namespace std;

int main()
{
int n;
cout << "Enter the number :";
cin >> n; /*position of the element starting from 0...n*/

int Fibo[n + 1], i;
Fibo[0] = 0, Fibo[1] = 1;

for (i = 2; i <= n; i++) {
/*It will store the sum of previous two elements */
Fibo[i] = Fibo[i - 1] + Fibo[i - 2];
}
cout << "Number at " << n << "th place is " << Fibo[n] << endl;

return 0;
}
```

#### Output

```Enter the number :10
Number at 10th place is 55
```

## Finding Fibonacci Number Without Using Array

Well it is the easiest way to calculate Fibonacci number as we just have to add two previous numbers to calculate next number.

### C++ code to find the Fibonacci number without using array

```#include <iostream>
using namespace std;

int Fib(int n)
{
if (n == 0)
return 0;
else {
int prev_Fib = 0, curr_Fib = 1, next_Fib;
if (n == 0)
return n;
while (n >= 2) {
next_Fib = prev_Fib + curr_Fib;
prev_Fib = curr_Fib;
curr_Fib = next_Fib;
n--;
}
return curr_Fib;
}
}

int main()
{
int n; /*position of the element starting from 0...n*/

cout << "Enter the number :";
cin >> n;

cout << "Number at " << n << "th place is " << Fib(n) << endl;

return 0;
}
```

#### Output

```Enter the number :10
Number at 10th place is 55
```