假设我们有一个由n个元素组成的数组,称为A。我们必须将所有数字除以n后再打印余数。假设A = [100,10,5,25,35,14],n =11。输出为9。因此,值100 * 10 * 5 * 25 * 35 * 14 mod 11 = 9。
首先,我们必须取每个数字的余数,然后将余数与当前结果相乘。乘法后,再次取余数以避免溢出。
#include<iostream> #include<algorithm> using namespace std; int getRemainder(int a[], int size, int n) { int mul = 1; for(int i = 0; i<size; i++){ mul = (mul * (a[i] % n)) %n; } return mul%n; } int main() { int arr[] = {100, 10, 5, 25, 35, 14}; int size = sizeof(arr)/sizeof(arr[0]); int n = 11; cout << "The remainder is: " << getRemainder(arr, size, n); }
输出结果
The remainder is: 9