# Find remainder of array multiplication divided by n

Given multiple numbers and a number n, the task is to print the remainder after multiply all the number divide by n.

Examples:

Input : arr[] = {100, 10, 5, 25, 35, 14},
n = 11
Output : 9
100 x 10 x 5 x 25 x 35 x 14 = 61250000 % 11 = 9

Input : arr[] = {100, 10},
n = 5
Output : 0
100 x 10 = 1000 % 5 = 0

## Recommended: Please solve it on PRACTICE first, before moving on to the solution.

Naive approach: First multiple all the number then take % by n then find the remainder, But in this approach if number is maximum of 2^64 then it give wrong answer.

Approach that avoids overflow : First take a remainder or individual number like arr[i] % n. Then multiply the remainder with current result. After multiplication, again take remainder to avoid overflow. This works because of distributive properties of modular arithmetic. ( a * b) % c = ( ( a % c ) * ( b % c ) ) % c

## C++

 // C++ program to find  // remainder when all // array elements are // multiplied. #include using namespace std;    // Find remainder of arr[0] * arr[1] *  // .. * arr[n-1] int findremainder(int arr[], int len, int n) {     int mul = 1;        // find the individual remainder     // and multiple with mul.     for (int i = 0; i < len; i++)          mul = (mul * (arr[i] % n)) % n;            return mul % n; }    // Driver code int main() {     int arr[] = { 100, 10, 5, 25, 35, 14 };     int len = sizeof(arr) / sizeof(arr[0]);     int n = 11;        // print the remainder of after     // multiple all the numbers     cout << findremainder(arr, len, n); }

## Java

 // Java program to find  // remainder when all // array elements are // multiplied. import java.util.*; import java.lang.*;    public class GfG{            // Find remainder of arr[0] * arr[1] *     // .. * arr[n-1]     public static int findremainder(int arr[],                                     int len, int n)     {         int mul = 1;            // find the individual remainder         // and multiple with mul.         for (int i = 0; i < len; i++)              mul = (mul * (arr[i] % n)) % n;                return mul % n;     }            // Driver function     public static void main(String argc[])     {         int[] arr = new int []{ 100, 10, 5,                                 25, 35, 14 };         int len = 6;         int n = 11;            // print the remainder of after         // multiple all the numbers         System.out.println(findremainder(arr, len, n));     } }    /* This code is contributed by Sagar Shukla */

## Python3

 # Python3 program to # find remainder when # all array elements # are multiplied.    # Find remainder of arr[0] * arr[1] # * .. * arr[n-1] def findremainder(arr, lens, n):     mul = 1        # find the individual     # remainder and      # multiple with mul.     for i in range(lens):          mul = (mul * (arr[i] % n)) % n            return mul % n    # Driven code arr = [ 100, 10, 5, 25, 35, 14 ] lens = len(arr) n = 11    # print the remainder # of after multiple # all the numbers print( findremainder(arr, lens, n))    # This code is contributed by "rishabh_jain".

## C#

 // C# program to find  // remainder when all // array elements are // multiplied. using System;    public class GfG{            // Find remainder of arr[0] * arr[1] *     // .. * arr[n-1]     public static int findremainder(int []arr,                                  int len, int n)     {         int mul = 1;            // find the individual remainder         // and multiple with mul.         for (int i = 0; i < len; i++)              mul = (mul * (arr[i] % n)) % n;                return mul % n;     }            // Driver function     public static void Main()     {         int[] arr = new int []{ 100, 10, 5,                                 25, 35, 14 };         int len = 6;         int n = 11;            // print the remainder of after         // multiple all the numbers         Console.WriteLine(findremainder(arr, len, n));     } }    /* This code is contributed by vt_m */

## PHP



Output:

9

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.

Improved By : jit_t, Akanksha_Rai

Article Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.