Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tìm dư phép chia tích mảng cho n trong C++


Cho mảng n phần tử A. In dư sau khi nhân tất cả số chia cho n. A = [100, 10, 5, 25, 35, 14], n = 11. Kết quả 9. Giá trị 100*10*5*25*35*14 mod 11 = 9.

Lấy dư từng số, nhân dư với kết quả hiện tại. Sau nhân lại lấy dư để tránh tràn số.

Ví dụ mã nguồn

#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); }

Kết quả

The remainder is: 9