# Find sum of factorials in an array

Given an array arr[] of N integers. The task is to find the sum of factorials of each element of the array.

Examples:

Input: arr[] = {7, 3, 5, 4, 8}
Output: 45510
7! + 3! + 5! + 4! + 8! = 5040 + 6 + 120 + 24 + 40320 = 45510

Input: arr[] = {2, 1, 3}
Output: 9

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach: Implement a function factorial(n) that finds the factorial of n and initialize sum = 0. Now, traverse the given array and for each element arr[i] update sum = sum + factorial(arr[i]). Print the calculated sum in the end.

Below is the implementation of the above approach:

## C++

 `// C++ implementation of the approach ` `#include   ` `#include ` `using` `namespace` `std; ` ` `  `// Function to return the factorial of n ` `int` `factorial(``int` `n) ` `{ ` `    ``int` `f = 1; ` `    ``for` `(``int` `i = 1; i <= n; i++) ` `    ``{ ` `        ``f *= i; ` `    ``} ` `    ``return` `f; ` `} ` ` `  `// Function to return the sum of ` `// factorials of the array elements ` `int` `sumFactorial(``int` `*arr, ``int` `n) ` `{ ` ` `  `    ``// To store the required sum ` `    ``int` `s = 0,i; ` `    ``for` `(i = 0; i < n; i++) ` `    ``{ ` ` `  `        ``// Add factorial of all the elements ` `        ``s += factorial(arr[i]); ` `    ``} ` `    ``return` `s; ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``int` `arr[] = { 7, 3, 5, 4, 8 }; ` `    ``int` `n = ``sizeof``(arr) / ``sizeof``(arr); ` `    ``cout << sumFactorial(arr, n); ` `    ``return` `0; ` `} ` `     `  `// This code is contributed by 29AjayKumar `

## Java

 `// Java implementation of the approach ` `class` `GFG { ` ` `  `    ``// Function to return the factorial of n ` `    ``static` `int` `factorial(``int` `n) ` `    ``{ ` `        ``int` `f = ``1``; ` `        ``for` `(``int` `i = ``1``; i <= n; i++) { ` `            ``f *= i; ` `        ``} ` `        ``return` `f; ` `    ``} ` ` `  `    ``// Function to return the sum of ` `    ``// factorials of the array elements ` `    ``static` `int` `sumFactorial(``int``[] arr, ``int` `n) ` `    ``{ ` ` `  `        ``// To store the required sum ` `        ``int` `s = ``0``; ` `        ``for` `(``int` `i = ``0``; i < n; i++) { ` ` `  `            ``// Add factorial of all the elements ` `            ``s += factorial(arr[i]); ` `        ``} ` `        ``return` `s; ` `    ``} ` ` `  `    ``// Driver Code ` `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``int``[] arr = { ``7``, ``3``, ``5``, ``4``, ``8` `}; ` `        ``int` `n = arr.length; ` `        ``System.out.println(sumFactorial(arr, n)); ` `    ``} ` `} `

## Python3

 `# Python implementation of the approach ` ` `  `# Function to return the factorial of n ` `def` `factorial(n): ` `    ``f ``=` `1``; ` `    ``for` `i ``in` `range``(``1``, n ``+` `1``): ` `        ``f ``*``=` `i; ` `    ``return` `f; ` ` `  `# Function to return the sum of ` `# factorials of the array elements ` `def` `sumFactorial(arr, n): ` ` `  `    ``# To store the required sum ` `    ``s ``=` `0``; ` `    ``for` `i ``in` `range``(``0``,n): ` ` `  `        ``# Add factorial of all the elements ` `        ``s ``+``=` `factorial(arr[i]); ` `    ``return` `s; ` ` `  `# Driver code ` `arr ``=` `[``7``, ``3``, ``5``, ``4``, ``8` `]; ` `n ``=` `len``(arr); ` `print``(sumFactorial(arr, n)); ` ` `  `# This code contributed by Rajput-Ji `

## C#

 `// C# implementation of the approach  ` `using` `System; ` ` `  `class` `GFG ` `{  ` ` `  `    ``// Function to return the factorial of n  ` `    ``static` `int` `factorial(``int` `n)  ` `    ``{  ` `        ``int` `f = 1;  ` `        ``for` `(``int` `i = 1; i <= n; i++) ` `        ``{  ` `            ``f *= i;  ` `        ``}  ` `        ``return` `f;  ` `    ``}  ` ` `  `    ``// Function to return the sum of  ` `    ``// factorials of the array elements  ` `    ``static` `int` `sumFactorial(``int``[] arr, ``int` `n)  ` `    ``{  ` ` `  `        ``// To store the required sum  ` `        ``int` `s = 0;  ` `        ``for` `(``int` `i = 0; i < n; i++) ` `        ``{  ` ` `  `            ``// Add factorial of all the elements  ` `            ``s += factorial(arr[i]);  ` `        ``}  ` `        ``return` `s;  ` `    ``}  ` ` `  `    ``// Driver Code  ` `    ``public` `static` `void` `Main()  ` `    ``{  ` `        ``int``[] arr = { 7, 3, 5, 4, 8 };  ` `        ``int` `n = arr.Length;  ` `        ``Console.WriteLine(sumFactorial(arr, n));  ` `    ``}  ` `}  ` ` `  `// This code is contributed by Ryuga `

## PHP

 ` ` `    `

Output:

```45510
```

My Personal Notes arrow_drop_up Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.