আমাদের একটি ইন্টিজার অ্যারে arr[] দেওয়া আছে। কাজ হল অ্যারের সব এলিমেন্ট গুণ করে যে সংখ্যা পাওয়া যাবে, তার ডিভাইসর (divisors/factors) মোট কতটা সেটি গণনা করা।
উদাহরণ:
ইনপুট: arr[] = {2, 3} → গুণফল = 6 → ডিভাইসর: 1, 2, 3, 6 → আউটপুট: count is 4
ইনপুট: arr[] = {2, 3, 5} → গুণফল = 30 → ডিভাইসর: 1, 2, 3, 5, 6, 10, 15, 30 → আউটপুট: count is 8
অ্যালগরিদম
অ্যারের সব এলিমেন্ট গুণ করে totalProduct বের করুন
1 থেকে totalProduct পর্যন্ত লুপ চালিয়ে যেসব সংখ্যা totalProduct কে ভাগ করে, সেগুলো গণনা করুন
ফলাফল রিটার্ন করুন
প্রোগ্রাম
#include <iostream>
using namespace std;
// ফ্যাক্টরের সংখ্যা গণনা
int divisors(int N) {
int result = 0;
for (int i = 1; i <= N; ++i) {
if (N % i == 0) result++;
}
return result;
}
int countmultiples(int arr_1[], int size) {
int temp = 1;
for (int i = 0; i < size; ++i) temp *= arr_1[i];
return divisors(temp);
}
int main() {
int arr_1[] = { 5, 10, 15 };
int size = sizeof(arr_1) / sizeof(arr_1[0]);
cout << "count is " << countmultiples(arr_1, size);
return 0;
}
আউটপুট
count is 16