Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

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 <iostream>
#include <bits/stdc++.h>
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[0]);
    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




<?php
 
// PHP implementation of the approach
 
// Function to return the factorial of n
function factorial( $n)
{
    $f = 1;
    for ( $i = 1; $i <= $n; $i++)
    {
        $f *=$i;
    }
    return $f;
}
 
// Function to return the sum of
// factorials of the array elements
function sumFactorial($arr$n)
{
 
    // To store the required sum
    $s = 0;
    for ($i = 0; $i < $n; $i++)
    {
 
        // Add factorial of all the elements
        $s += factorial($arr[$i]);
    }
    return $s;
}
 
// Driver code
 
$arr = array( 7, 3, 5, 4, 8 );
$n = sizeof($arr);
echo sumFactorial($arr, $n);
 
// This code is contributed by ihritik
 
?>
    

Javascript




<script>
 
// Javascript implementation of the approach
 
// Function to return the factorial of n
function factorial(n)
{
    let f = 1;
    for(let i = 1; i <= n; i++)
    {
        f *= i;
    }
    return f;
}
 
// Function to return the sum of
// factorials of the array elements
function sumFactorial(arr, n)
{
 
    // To store the required sum
    let s = 0;
    for (let i = 0; i < n; i++)
    {
         
        // Add factorial of all the elements
        s += factorial(arr[i]);
    }
    return s;
}
 
// Driver code
let arr = [ 7, 3, 5, 4, 8 ];
let n = arr.length;
 
document.write(sumFactorial(arr, n));
 
// This code is contributed by bobby
 
</script>
Output: 
45510

 




My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!