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