C++ Recursive Factorial Example
Recursion is a technique where a function calls itself. Factorial of a number n (n!) is a classic example to demonstrate recursion.
1. Factorial Concept
Factorial of n: n! = n × (n-1) × (n-2) × ... × 1 - Base case: factorial(0) = 1 - Recursive case: factorial(n) = n * factorial(n-1)
2. Recursive Factorial Example
#include <iostream>
using namespace std;
int factorial(int n) {
if (n == 0 || n == 1)
return 1; // base case
else
return n * factorial(n - 1); // recursive call
}
int main() {
int num = 5;
cout << "Factorial of " << num << " is " << factorial(num) << endl;
return 0;
}
3. How it Works
The function calls itself repeatedly with decreasing values until it reaches the base case. Then results are multiplied back up the call stack to produce the final factorial.
4. Key Points
1. Always define a base case to prevent infinite recursion. 2. Each recursive call should reduce the problem size. 3. Recursive factorial grows fast; large n can cause stack overflow.
Conclusion
C++ recursive factorial demonstrates the power of recursion. Understanding base cases, recursion flow, and stack behavior is essential for writing correct recursive functions.
Codecrown