Approach by using the functools.reduce method

We have used the reduce function from the functools module to iteratively multiply all elements in the input array and calculate the remainder after each multiplication operation when divided by the given number n.

Below is implementation for the above approach:

Python3




from functools import reduce
 
def remainderAfterMultiplication(arr, n):
    result = reduce(lambda x, y: (x * y) % n, arr)
    return result
 
# Driver Code
arr1 = [100, 10, 5, 25, 35, 14]
n1 = 11
result1 = remainderAfterMultiplication(arr1, n1)
print(result1)
 
arr2 = [100, 10]
n2 = 5
result2 = remainderAfterMultiplication(arr2, n2)
print(result2)


Output

9
0

Time Complexity: O(len), where len is the size of the given array

Auxiliary Space: O(1)

Please refer complete article on Find remainder of array multiplication divided by n for more details!



Python Program for Find remainder of array multiplication divided by n

Write a Python program for a given multiple numbers and a number n, the task is to print the remainder after multiplying all the numbers divided by n.

Examples:

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

Similar Reads

Python Program to Find remainder of array multiplication divided by n using Naive approach:

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

Approach by using the functools.reduce method

...