# C++ Program to Find Factorial of a Number Using Recursion

In this post you will learn how to Find Factorial of a Number Using Recursion

This lesson will teach you how to Find Factorial of a Number Using Recursion, with a recursion statement, mathematical operations and decision making statement using the C++ Language. Let’s look at the below source code.

## How to Find Factorial of a Number Using Recursion?

## Source Code

#include<iostream> using namespace std; int factorial(int n) { if(n > 1) return n * factorial(n - 1); else return 1; } int main() { int n; cin >> n; cout << "Enter a positive integer: "<<n<<endl; cout << "\nFactorial of the number " << n << " is: " << factorial(n); return 0; }

## Input

```
6
```

## Output

Enter a positive integer: 3 Factorial of the number 3 is: 6

The statements **#include<iostream>, using namespace std, int main** are the main factors that **support** the function of the source code. Now we can look into the working and layout of the code’s function.

**When function is called within the same function**, it is known as recursion. In this program we find out the sum of the first n numbers, using recursion.- In this code we have two sections, in the first one we declare the function
`int factorial(int n)`

to initiate the recursive function, where we declare the variable**n**as an**integer.** - Using the
**decision making****statements**assign the condition to verify if the value of n is greater than 1. If the condition is satisfied then the`return n * factorial(n - 1)`

is executed. If not the execution moves to the**else statement**which returns the value 1. - Here the value of
**factorial**holds the number for which we have to find the factorial. The execution starts by default with**1**(n). The value is verified with the**if condition,**when the condition is true the value is used in the mathematical function`return n * factorial(n - 1)`

or else it returns the value 1. - The function is repeated with the recursion function till the condition is not true.
- The function then moves to the output section of the code, where we use output statements to display the answer stored in
`factorial(n).`

**Note:** The **‘ << endl ‘ **in the code is used to **end the current line **and move to the next line and **‘\n’ **is also a **new line function,** to understand how both the functions work exclude it from the code, move it around and work with it.