## C++ program to find out the sum of factorial series 1! + 2! + 3! + 4!…

In this tutorial, we will learn how to find the sum of factorial of a series up to a specific length. Our program will take the value of *n* from the user and find out the *sum*. For example, if the value of *n* is *2*, it will find *1! + 2!*,it is *5*, it will find *1! + 2! +… 5!* etc.

With this post, you will learn how to get user inputs and how to find factorial in C++.

## C++ program :

```
#include <iostream>
using namespace std;
int findFact(int n)
{
return n == 1 ? 1 : n * findFact(n - 1);
}
int main()
{
int n, sum = 0;
cout << "Enter the value of n : " << endl;
cin >> n;
for (int i = 1; i <= n; i++)
{
sum += findFact(i);
}
cout << "Sum : " << sum << endl;
}
```

### Explanation:

*findFact*method is used to find out the factorial of a number.- In the
*main*function, we have two int variables*n*and*sum*. - Value of
*n*is taken as user input. Using a*for*loop, we are finding the factorial of all numbers from*1*to*n*and adding all values to calculate the final result sum.

### Sample output:

```
Enter the value of n :
4
Sum : 33
Enter the value of n :
10
Sum : 4037913
```

## Method 2: By using the current factorial value:

We can also keep the current factorial value in a variable and multiply that with the next number to get the next value.

```
factorial of 1: 1
factorial of 2: factorial of 1 * 2
factorial of 3: factorial of 2 * 3
factorial of 4: factorial of 3 * 4
```

Below is the C++ program :

```
#include <iostream>
using namespace std;
int main()
{
int n, sum = 0, currentFact = 1;
cout << "Enter the value of n : " << endl;
cin >> n;
for (int i = 1; i <= n; i++)
{
currentFact *= i;
sum += currentFact;
}
cout << "Sum : " << sum << endl;
}
```

Here, we are storing the factorial in *currentFact* variable. In each iteration of the loop, we are multiplying it with the current value of *i* to get the factorial for *i*.