In this tutorial, we will write a Factorial Program in C++ using recursion. Let us start by understanding what is factorial of a number and recursion.
Factorial of n number: Factorial of n number is the product of all the positive descending integers and is denoted by n!. Also factorial of 0 and 1 is 1.
Recursion refers to the process when a function calls itself inside that function directly or indirectly or in a cycle.
If you want to learn more about recursion in detail, click here. Although it is for C programming but the theory concept of recursion is the same for all programming languages.
Example:
factorial of n (n!) = n * (n-1) * (n-2) * (n-3)….1
factorial of 5 (n!) = 5 * 4 * 3 * 2 * 1
NOTE: Factorial of 0 (0!) = 1
Factorial program using recursion in C++
The program takes input from the user. The entered number is passed to a recursion function and returned the value back to the main function where the final result is displayed.
#include <iostream>
using namespace std;
int factorialFunc(int);
int main()
{
int fact, num;
cout << "Enter a positive integer: ";
cin >> num;
//calling factorial function
fact = factorialFunc(num);
cout << "Factorial of " << num << " is: " << fact << endl;
return 0;
}
int factorialFunc(int n)
{
if (n == 0)
return (1); //base condition
else
{
return (n* factorialFunc(n - 1)); //recursion
}
}
Output:
Enter a positive integer: 5
Factorial of 5 is: 120
You may go through the following: