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: