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

C++-এ অ্যারেতে ভাগযোগ্য জোড়া গণনা

আমাদের একটি পূর্ণসংখ্যা অ্যারে দেওয়া আছে যেকোনো আকারের, এবং আমাদের কাজ হল অ্যারেতে থাকা জোড়াগুলির সংখ্যা গণনা করা যাতে একটি জোড়ার এক উপাদান অন্য উপাদানকে ভাগ করতে পারে।

উদাহরণ

ইনপুট − int arr[] = {1, 2, 3, 6} আউটপুট − গণনা 4

ব্যাখ্যা − (1,2), (1,3), (1,6) এবং (3,6) হল সেই জোড়াগুলো যেখানে একটি উপাদান অন্যটিকে ভাগ করতে পারে কারণ 1 যেকোনো সংখ্যাকে ভাগ করতে পারে এবং 3 또한 6 কে ভাগ করতে পারে। তাই গণনা 4।

ইনপুট − int arr[] = {2, 5, 10} আউটপুট − গণনা 2

ব্যাখ্যা − (2, 10) এবং (5,10) হল সেই জোড়াগুলো যেখানে একটি উপাদান অন্যটিকে ভাগ করতে পারে কারণ 2, 10 কে ভাগ করতে পারে এবং 5 또한 10 কে ভাগ করতে পারে। তাই গণনা 2।

প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • একটি অ্যারে তৈরি করুন, যেমন arr[]
  • length() ফাংশন দিয়ে অ্যারের দৈর্ঘ্য গণনা করুন
  • একটি অস্থায়ী ভেরিয়েবল নিন যা শুধুমাত্র অ্যারেতে থাকা উপাদানগুলির গণনা সংরক্ষণ করবে
  • i = 0 থেকে i < size পর্যন্ত লুপ শুরু করুন
  • লুপের ভিতরে j = i+1 থেকে j < size পর্যন্ত অন্য একটি লুপ শুরু করুন
  • যদি arr[i] % arr[j] == 0 অথবা arr[j] % arr[i] == 0 হয় তবে count বৃদ্ধি করুন
  • count ফেরত দিন
  • ফলাফল প্রিন্ট করুন

উদাহরণ কোড

#include <iostream>
using namespace std;

int divisibles(int a[], int size) {
    int result = 0;
    // সব জোড়া দ্বারা পুনরাবৃত্তি করুন
    for (int i = 0; i < size; i++) {
        for (int j = i + 1; j < size; j++) {
            if (a[i] % a[j] == 0 || a[j] % a[i] == 0) {
                result++;
            }
        }
    }
    return result;
}

int main() {
    int a[] = {1, 4, 7, 8, 9};
    int size = sizeof(a) / sizeof(a[0]);
    cout << "count is " << divisibles(a, size);
    return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি রান করি তবে নিচের আউটপুট পাব −

count is 5
  1. C++-এ K বিটে আলাদা হয় এমন অ্যারে জোড়া গণনা

  2. C++-এ সর্টেড বাইনারি অ্যারেতে ১-এর সংখ্যা গণনা (Count 1's in Sorted Binary Array)

  3. অ্যারে রিভার্স C++-তে

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