একটি সংখ্যার অ্যারে Arr[] দেওয়া আছে। লক্ষ্য হল ন্যূনতম গুণফল বালা সব ট্রিপলেটের মধ্যে যেসব ট্রিপলেটের গুণফল সেই ন্যূনতম গুণফলের সমান, তাদের সংখ্যা গণনা করা। ট্রিপলেট (i প্রথমে ন্যূনতম গুণফল (i ইনপুট: arr[] = { 1,2,3,2,4,1,5 } আউটপুট: ট্রিপলেট সংখ্যা: ২ ব্যাখ্যা: ন্যূনতম গুণফল ২। ট্রিপলেট: (1,2,1) এবং (1,2,1) - দুটি উপায়। ইনপুট: arr[] = { 1,1,2,1,2,2 } আউটপুট: ট্রিপলেট সংখ্যা: ১ ব্যাখ্যা: ন্যূনতম গুণফল ১। ট্রিপলেট: (1,1,1) - একটি উপায়।উদাহরণ
অ্যাপ্রোচ
countTriplets(int arr[], int n) ফাংশন অ্যারে এবং দৈর্ঘ্য গ্রহণ করে ন্যূনতম গুণফল বালা ট্রিপলেট সংখ্যা রিটার্ন করে।উদাহরণ কোড
#include <bits/stdc++.h>
using namespace std;
int countTriplets(int arr[], int n) {
int count = 0;
int prod = 1;
int minprod = 9999;
for (int i = 0; i < n-2; i++) {
for (int j = i+1; j < n-1; j++) {
for (int k = j+1; k < n; k++) {
prod = arr[i] * arr[j] * arr[k];
if (prod <= minprod) {
minprod = prod;
}
}
}
}
for (int i = 0; i < n-2; i++) {
for (int j = i+1; j < n-1; j++) {
for (int k = j+1; k < n; k++) {
prod = arr[i] * arr[j] * arr[k];
if (prod == minprod) {
count++;
}
}
}
}
return count;
}
int main() {
int Arr[] = { 1,2,3,1,2,6 };
int N = 5;
cout << endl << "Number of triplets : " << countTriplets(Arr, N);
return 0;
}
আউটপুট
Number of triplets : 2