ऐरे गुणनफल में हम दिए गए ऐरे के सभी एलिमेंट्स का गुणनफल निकालेंगे। और फिर समस्या के अनुसार, हम गुणनफल को संख्या n से विभाजित करेंगे। आइए एक उदाहरण लें -
Input: arr[] = { 12, 35, 69, 74, 165, 54}; N = 47 Output: 14
व्याख्या
ऐरे {12, 35, 69, 74, 165, 54} जैसा है तो गुणनफल (12 * 35 * 69 * 74 * 165 * 54) = 19107673200 होगा। अब यदि हम इसे 47 से विभाजित करने के बाद शेषफल चाहते हैं तो यह 14 होगा।
पहले सभी संख्याओं को गुणा करें फिर n से % लें फिर शेषफल ढूंढें, लेकिन इस दृष्टिकोण में, यदि संख्या 2^64 की अधिकतम है तो यह गलत उत्तर देता है।
उदाहरण
#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;
}
आउटपुट
the remainder is 14