C++Tutorials

Function recursion in c++

In this article, we will learn about function recursion,before moving forward let’s know

What is recursion?

Recursion is the process of defining a problem (or the solution to a problem) in terms of (a simpler version of) itself.

What is function recursion?

The function which calls the same function, is known as recursive function.

A function that calls itself, and doesn’t perform any task after function call, is known as tail recursion. In tail recursion, we generally call the same function with return statement.

Syntax of function recursion:

recursionfunction(){    
recursionfunction(); //calling self function    
}    

C++ Recursion Example

Let’s see an example to print factorial number using recursion in C++ language.

#include<iostream>  
using namespace std;    
int main()  
{  
int factorial(int);  
int fact,value;  
cout<<"Enter any number: ";  
cin>>value;  
fact=factorial(value);  
cout<<"Factorial of a number is: "<<fact<<endl;  
return 0;  
}  
int factorial(int n)  
{  
if(n<0)  
return(-1); /*Wrong value*/    
if(n==0)  
return(1);  /*Terminating condition*/  
else  
{  
return(n*factorial(n-1));      
}  
}  

Output:

Enter any number: 5
Factorial of a number is: 120

Advantages and Disadvantages of Recursion

Below are the pros and cons of using recursion in C++.

Advantages of C++ Recursion

  • It makes our code shorter and cleaner.
  • Recursion is required in problems concerning data structures and advanced algorithms, such as Graph and Tree Traversal.

Disadvantages of C++ Recursion

  • It takes a lot of stack space compared to an iterative program.
  • It uses more processor time.
  • It can be more difficult to debug compared to an equivalent iterative program.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button