C++ Program to find Factorial of a Number using recursion

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: