Heim  >  Artikel  >  Backend-Entwicklung  >  C/C++-Programm zum Ermitteln des Rests des durch n geteilten Array-Produkts

C/C++-Programm zum Ermitteln des Rests des durch n geteilten Array-Produkts

WBOY
WBOYnach vorne
2023-08-29 18:37:02639Durchsuche

C/C++ 程序以找到数组乘积除以 n 的余数

Array-Multiplikation, wir finden das Produkt aller Elemente des gegebenen Arrays. Dann dividieren wir je nach Problem das Produkt durch die Zahl n. Nehmen wir ein Beispiel:

Input: arr[] = { 12, 35, 69, 74, 165, 54};
      N = 47
Output: 14

Erläuterung

Das Array lautet wie folgt: {12, 35, 69, 74, 165, 54}, also ist das Produkt (12 * 35 * 69 * 74 * 165 * 54) = 19107673200 . Wenn wir nun den Rest nach der Division durch 47 erhalten wollen, ist das Ergebnis 14.

Multiplizieren Sie zuerst alle Zahlen, nehmen Sie dann % von n und ermitteln Sie den Rest. Wenn bei dieser Methode die Zahl jedoch den Maximalwert von 2^64 erreicht, wird eine falsche Antwort ausgegeben.

Beispiel

#include <stdio.h>
int main() {
   int arr[] = { 12, 35, 69, 74, 165, 54};
   int len = 6;
   int n = 47 ;
   int mul = 1;
   for (int i = 0; i < len; i++)
      mul = (mul * (arr[i] % n)) % n;
   printf("the remainder is %d", (mul%n));
   return 0;
}

Ausgabe

the remainder is 14

Das obige ist der detaillierte Inhalt vonC/C++-Programm zum Ermitteln des Rests des durch n geteilten Array-Produkts. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen