অ্যারে মাল্টিপ্লিকেশনে আমরা দেওয়া অ্যারের সব এলিমেন্টের গুণফল বের করব। এবং সমস্যা অনুযায়ী, গুণফলকে নম্বর 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। এখন এটিকে ৪৭ দিয়ে ভাগ করলে রিমাইন্ডার হবে ১৪।
প্রথমে সব নম্বর গুণ করে তারপর 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