सरणी गुणन हम दिए गए सरणी के सभी तत्वों का गुणनफल पाएंगे। और फिर समस्या के अनुसार, हम उत्पाद को संख्या 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