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

সি++-এ arr[i]*arr[j] > arr[i]+arr[j] সন্তুষ্টকারী জোড়া (i,j) গণনা

n সংখ্যক ধনাত্মক সংখ্যার একটি অ্যারে দেওয়া আছে। লক্ষ্য হল অর্ডার্ড পেয়ার (i,j) গণনা করা যাতে arr[i]*arr[j] > arr[i]+arr[j] এবং 0<=i

দুটি for লুপ দিয়ে সব পেয়ার চেক করা হয়। প্রতিটি পেয়ারের যোগফল এবং গুণফল বের করে যদি গুণফল যোগফলের চেয়ে বড় হয়, count বাড়ানো হয়।

উদাহরণ

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

আউটপুট: পেয়ার সংখ্যা: ১

ব্যাখ্যা: একমাত্র বৈধ পেয়ার: (2,3)। 2*3=6 > 2+3=5

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

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

ব্যাখ্যা: 2*2=4 এবং 2+2=4। কোনো পেয়ারে গুণফল যোগফলের চেয়ে বড় নয়।

অ্যাপ্রোচ

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

উদাহরণ কোড

#include <bits/stdc++.h>
#include <math.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] > arr[i]+arr[j]) {
                count++;
            }
        }
    }
    return count;
}

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

আউটপুট

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

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

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

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