Write a program to print Fibonacci Series using recursion. Fibonacci series is a very important program in terms of interviews. To make this program little tough interviewer ask to write a fibonacci series code using recursion.

## Introduction

Write a program to print Fibonacci Series using recursion. Fibonacci series is a very important program in terms of interviews. To make this program little tough interviewer ask to write a fibonacci series code using recursion.

You can check my previous post to use iterative approach to print Fibonacci series.

## What is Recursion.

In recursion function call itself until the base condition is reached.

Read explanation of recursion and what’s the difference between iterative and recursive function.

Objective Question on Recursion.

### Fibonacci Series

It is the series of numbers, such that the next number is the sum of previous two numbers.

0 ,1 , 1, 2, 3, 5, 8, 13, 21 ……………….

In Fibonacci series first two numbers is 0 and 1. Next number is the sum of first two numbers.

0 + 1 = 1

1 + 1 = 2

2 + 1 = 3

3 + 2 = 5

## Print Fibonacci Series using Recursion in C

Now you have learned what is fibonacci series. Let’s write a code using recursion to generate fibonacci series.

```
#include <stdio.h>
int fibonacci(int num){
if(num==0){
return 0;
}else if(num==1){
return 1;
} else {
return (fibonacci(num-1) + fibonacci(num-2));
}
}
main()
{
/* Assume we want to print first six number of fibonacci series. */
int num = 6,i;
for(i = 0; i < num; i++) {
/* Call fibonacci function. */
printf(" %d ",fibonacci(i));
}
}
```

**Program Logic**

1. Return 0 if the input number is 0, 1 if the input number is 1.

2. If number is greater than 1 then **return func(n-1) + func(n-2)**. **func** is the name of function.

Let’s explain this, suppose num is 4. As per fibonacci function last else condition is satisfied.

**return fibonacci(n-1) + fibonacci (n-2);**

```
/* When 4 is input, as per else condition. */
fibonacci(3) + fibonacci(2)
/* fibonacci(3) and fibonacci(2), calls function */
(fibonacci(1) + fibonacci (2)) + (fibonacci(0) + fibonacci(1))
1 + (fibonacci (1) + fibonacci (0) ) + 0 + 1
1 + 1 + 1
3
```

Fourth element of fibonacci series is 3.

## Print Fibonacci Series using Recursion in C++

```
#include <iostream>
using namespace std;
int fibonacci (int num) {
if ( num == 0 ) {
return 0;
} else if ( num == 1 ) {
return 1;
} else {
return fibonacci (num - 1) + fibonacci (num - 2);
}
}
int main() {
int num;
cout << " Enter a number (Positive number only) "; cin >> num;
for (int i = 0 ; i < num; i++) {
cout << fibonacci(i) << " ";
}
return 0;
}
```