Calculate Fibonacci number in C++

problem

You would like to calculate the nth Fibonacci number using the C++ programming language. Recall that the sequence of Fibonacci as follows:

SOLUTION

Let’s use recursion as the mathematical problem has a recursive nature. The function prototype will look as follow:

				
					long int fibonacci(int fth);
				
			

The implementation of it will be as follows:

				
					
long int fibonacci(int fth) {
    if (fth == 0) {
        return 0;
    }else if (fth == 1){
        return 1;
    }else {
        return fibonacci(fth-1) + fibonacci(fth-2);
    }
}
				
			

We assume that the input will always be positive otherwise it will result in stack overflow error.

Putting it all together with a main method that will call fibonacci with an argument of 10 and print the result:

fibo.cpp
				
					#include <iostream>

using namespace std;

long int fibonacci(int fth);

int main() {

    cout << fibonacci(10) << endl;
    
    return 0;
}

long int fibonacci(int fth) {
    if (fth == 0) {
        return 0;
    }else if (fth == 1){
        return 1;
    }else {
        return fibonacci(fth-1) + fibonacci(fth-2);
    }
}
				
			
compiling

In terminal, I used g++ for compiling as follows:

				
					g++ fibo.cpp
				
			

By default the output file is a.out (on Mac or Linux)

running
				
					./a.out
				
			
output

Prints 55 on the screen which is correct!

The 10th Fibonacci (F10) in the sequence is 55 as shown below (starting from 1):

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233 …

conclusion

In this post we saw how to calculate the nth number in the Fibonacci sequence using recursion. Please feel free to check out more of C++ coding tutorials

Share it!

Facebook
Twitter
LinkedIn
Reddit
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x