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

সি++-এ দিয়ে গুণফল সমান ট্রিপলেট গণনা (ডুপ্লিকেট অনুমোদিত)

একটি সংখ্যার অ্যারে 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
  1. ২ডি ক্যারেক্টার অ্যারেতে নির্দিষ্ট স্ট্রিংর বার্তা গণনা (C++)

  2. N-এর চেয়ে ছোট বা সমান এবং নির্দিষ্ট ডিজিট সম থাকা সংখ্যা গণনা (C++)

  3. C++-এ একটি সেটের সাবসেটগুলোর GCD যেন একটি দিয়া হয় সেটির সংখ্যা গণনা

  4. C++-এ সর্টেড ডাবলি লিংকড লিস্টে যেসব ট্রিপলেটের গুণফল x সেটির সংখ্যা গণনা