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

C++
Example: Factorial using recursion
#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.