Here we are going to define our** recursive factorial** function in C++:

#include <iostream> using namespace std; int factorial(int n) // 1, 1, 2, 6, 24, 120, 720, … { if (n == 0) return 1; return n * factorial(n–1); } int main() { int n; cout << “Enter a non-negative integer: “; cin >> n; cout << “Factorial of “ << n << ” is “ << factorial(n) << endl; return 0; }

Here first of all we asked the user to enter a non-negative number, then we passed it to the **recursive factorial** function, where it checks the number that if is equal to zero then return 1, else recursively call the function with n-1 and multiplied by n and go on until the recursive factorial function call is complete, and at the end our factorial is returned recursively to the main() and printed out.