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

সি++-এ অ্যারেতে পারস্পরিকভাবে বিভাজ্য ইনডেক্স পেয়ার গণনা


আমরা N উপাদানের একটি অ্যারে arr[] দিয়ে থাকি। লক্ষ্য হল সব বৈধ ইনডেক্স পেয়ার (i,j) গণনা করা যাতে arr[i] arr[j]- দ্বারা বিভাজ্য অথবা arr[j] arr[i]- দ্বারা বিভাজ্য এবং i!=j।

দুটি for লুপ দিয়ে অ্যারে arr[] ট্রাভার্স করা হয় এবং প্রতিটি পেয়ারের জন্য চেক করা হয় arr[i]%arr[j]==0 অথবা arr[j]%arr[i]==0 যখন i!=j। সত্য হলে পেয়ার সংখ্যা বাড়ানো হয়।

উদাহরণ

ইনপুট: Arr[] = { 2,4,3,6 }, N=4

আউটপুট: বৈধ পেয়ার সংখ্যা: ৩

ব্যাখ্যা: বৈধ পেয়ার: (2,4) এখানে 4%2==0, (2,6) এখানে 6%2==0, (3,6) এখানে 6%3==0

ইনপুট: Arr[] = { 2,5,7,9,11 }, N=5

আউটপুট: বৈধ পেয়ার সংখ্যা: ০

ব্যাখ্যা: কোনো সংখ্যা অন্যটিকে পুরোপুরি ভাগ করে না। কোনো পেয়ার তৈরি হয় না।

অ্যাপ্রোচ

  • ইন্টিজার অ্যারে Arr[] নেওয়া হয়।
  • n ভেরিয়েবলে অ্যারের দৈর্ঘ্য।
  • countPairs(int arr[], int n) ফাংশন অ্যারে এবং দৈর্ঘ্য গ্রহণ করে বৈধ পেয়ার সংখ্যা রিটার্ন করে।
  • দুটি নেস্টেড for লুপ দিয়ে ট্রাভার্স করা হয়। আউটার 0<=i
  • যদি arr[i]%arr[j]==0 বা arr[j]%arr[i]==0 হয়, count একবার বাড়ানো হয়।

উদাহরণ কোড

#include <bits/stdc++.h>
using namespace std;

int countPairs(int arr[], int n) {
    int count = 0;
    for (int i = 0; i < n-1; i++) {
        for (int j = i+1; j < n; j++) {
            if (arr[i]%arr[j]==0 || arr[j]%arr[i]==0) {
                count++;
            }
        }
    }
    return count;
}

int main() {
    int Arr[] = { 2,3,4,5,6 };
    int len = sizeof(Arr) / sizeof(Arr[0]);
    cout << "Count of number of pairs : " << countPairs(Arr, len);
    return 0;
}

আউটপুট

Count of number of pairs : 3
  1. C++-এ অ্যারেতে ভাগযোগ্য জোড়া গণনা

  2. C++-এ একটি অ্যারে থেকে x^y > y^x শর্ত পূরণকারী (x, y) জোড়ার সংখ্যা খুঁজুন

  3. সি++ প্রোগ্রাম: সংখ্যা বিভাজ্য করে এমন অঙ্কগুলোর গণনা (Count of Digits Dividing the Number)

  4. C++ ব্যবহার করে অ্যারেতে XOR ০ হয় এমন জোড়ার সংখ্যা বের করা