# Find sum of factorials in an array

• Last Updated : 15 Apr, 2021

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

Examples:

Hey! Looking for some great resources suitable for young ones? You've come to the right place. Check out our self-paced courses designed for students of grades I-XII

Start with topics like Python, HTML, ML, and learn to make some games and apps all with the help of our expertly designed content! So students worry no more, because GeeksforGeeks School is now here!

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:

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

 ```   `

## Javascript

 ``
Output:
`45510`

My Personal Notes arrow_drop_up