In this Program, you’ll learn how to Calculate Factorial of a Number Using Recursion.
To nicely understand this example, you should have the knowledge of following C++ programming topics:
- Recursion
- if, if…else and Nested if…else
- Functions
- User-defined Functions
This program takes a positive integer from the user and calculates the factorial of that number. Suppose, the user enters 6 then,
Factorial will be equal to 1*2*3*4*5*6 = 720
You’ll learn to find the factorial of a number using a recursive function in this example.
Visit this page to learn, how you can use loops to calculate the factorial.
Program to Calculate Factorial Using Recursion
#include<iostream> using namespace std; int factorial(int n); int main() { int n; cout << "Enter a positive integer: "; cin >> n; cout << "Factorial of " << n << " = " << factorial(n); return 0; } int factorial(int n) { if(n > 1) return n * factorial(n - 1); else return 1; }
Output
Enter an positive integer: 6 Factorial of 6 = 720
In the above program, suppose the user inputs a number 6. The number is passed to the factorial()
function.
In this function, 6 is multiplied to the factorial of (6 – 1 = 5). For this, the number 5 is passed again to the factorial()
function.
Likewise in the next iteration, 5 is multiplied to the factorial of (5 – 1 = 4). And, 4 is passed to the factorial()
function.
This continues until the value reaches 1 and the function returns 1.
Now, each function returns the value back to compute 1 * 2 * 3 * 4 * 5 * 6 = 720, which is returned to the main()
function.
If you have any doubts on C++ Program for Linked List Deletion do comment. Documentation