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। কোনো পেয়ারে গুণফল যোগফলের চেয়ে বড় নয়।উদাহরণ
অ্যাপ্রোচ
countPairs(int arr[], int n) ফাংশন অ্যারে এবং দৈর্ঘ্য গ্রহণ করে গুণফল>যোগফল সন্তুষ্টকারী পেয়ার সংখ্যা রিটার্ন করে।উদাহরণ কোড
#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