# Recursion in C++

The Concept of Recursion in C++.

In programming, recursion is a method call to the same method. In other words, a recursive method is a method that calls itself. In this article, I will introduce you to the concept of recursion in C++ programming language.

## What is Recursion?

Recursion is a particularly powerful type of reduction, which can be roughly described as follows:

1. If the given instance of the problem can be resolved directly, resolve it.
2. Otherwise, narrow it down to one or more simple instances of the same problem.

Also, Read – 100+ Machine Learning Projects Solved and Explained.

If the self-reference is confusing, it can be helpful to imagine that someone else is going to solve the simpler problems, as you would assume for other types of discounts.

In recursion, your only task is to simplify the original problem or to solve it directly when simplification is either unnecessary or impossible.

## Recursion in C++

Now let’s take a look at the use of recursion in the C++ programming language. I will use the Recursion method to solve the Fibonacci sequence using the C ++ programming language.

The simplest and most obvious way to use recursion to get the Nth term of the Fibonacci sequence is:

However, this algorithm does not adapt to higher terms: for a larger and larger n, the number of function calls you to need to make increases exponentially. This can be replaced by a simple tail recursion:

Each function call now immediately calculates the next term in the Fibonacci sequence, so the number of function calls scales linearly with n. 