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.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #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: