কম্পিউটার টিউটোরিয়াল

C++-এ অ্যারে-এর সব এলিমেন্ট গুণফলের ডিভাইসর (Divisors) সংখ্যা গণনা


আমাদের একটি ইন্টিজার অ্যারে 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
  1. C++-এ সমতল তলে পারালেলোগ্রাম গণনা: মিডপয়েন্ট পদ্ধতি

  2. C++ প্রোগ্রাম: অ্যারে উপাদানগুলোর গুণফল বের করা

  3. C++ STL-এ অ্যারে অ্যালগরিদমসমূহ

  4. C++ প্রোগ্রাম: অ্যারেতে ইনভার্শন কাউন্ট করা