Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ค้นหาตัวเตือนการคูณอาร์เรย์หารด้วย n ใน C++


สมมติว่าเรามีอาร์เรย์ของ 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