
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Find Reminder of Array Multiplication Divided by n in C/C++
Here we will see how to calculate the remainder of array multiplication after dividing the result by n. The array and the value of n are supplied by the user. Suppose the array is like {12, 35, 69, 74, 165, 54} so the multiplication will be (12 * 35 * 69 * 74 * 165 * 54) = 19107673200. Now if we want to get the remainder after diving this by 47 it will be 14.
As we can see this problem is very simple. we can easily multiply the elements then by using modulus operator, it can get the result. But the main problem is when we calculate the multiplication, it may exceed the range of integer, or long also. So it may return some invalid results. To overcome this problem, we will follow this process.
Algorithm
multiplyRemainder(arr, size, n)
begin mul := 1 for i in range 0 to size – 1, do mul := (mul * (arr[i] mod n)) mod n done return mul mod n end
Example
#include<iostream> using namespace std; int multiplyRemainder(int arr[], int size, int n){ int mul = 1; for(int i = 0; i<size; i++){ mul = (mul * (arr[i] % n)) % n; } return mul % n; } int main(){ int arr[6] = {12, 35, 69, 74, 165, 54}; int size = 6; int n = 47; cout << "Remainder: " << multiplyRemainder(arr, size, n); }
Output
Remainder: 14
Advertisements