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

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

চারটি অ্যারে দেওয়া আছে। লক্ষ্য হল চারটি অ্যারে থেকে এক-এক উপাদান নিয়ে এমন কোয়াড্রুপলেট (চারটি সংখ্যার সমষ্টি) খুঁজে বের করা যাদের যোগফল দেওয়া Sum মানের সমান। চারটি উপাদান চারটি আলাদা অ্যার থেকে আসতে হবে।

উদাহরণ

ইনপুট:

A[]={ 1,3,1}, B[]={ 2,4,5 } , C[]={ 1,1,2 } , D[]= { 4,4,0} Sum=5

আউটপুট: দিয়ে সমান কোয়াড্রুপলেটের সংখ্যা: ২

ব্যাখ্যা:

২টি কোয়াড্রুপলেট: (A[0],B[0],C[2],D[2]) → (1,2,2,0), sum=5
(A[2],B[0],C[2],D[2]) → (1,2,2,0), sum=5

ইনপুট:

A[]={ 1,1,1}, B[]={ 1,1,1 } , C[]={ 1,1,1 } , D[]= {1,1,1} Sum=3

আউটপুট: দিয়ে সমান কোয়াড্রুপলেটের সংখ্যা: ০

ব্যাখ্যা: সব কোয়াড্রুপলেটের যোগফল ৪ হবে যা ৩-এর চেয়ে বড়।

অ্যাপ্রোচ

  • first[], second[], third[], fourth[] - চারটি সমান দৈর্ঘ্যের ইন্টিজার অ্যারে নেওয়া হয়।
  • প্রতিটি অ্যারের দৈর্ঘ্য সংরক্ষণ করা হয়।
  • Sum ভেরিয়েবলে লক্ষ্য যোগফল রাখা হয়।
  • quadruplets() ফাংশন সব অ্যারে, দৈর্ঘ্য এবং Sum গ্রহণ করে কোয়াড্রুপলেটের গণনা রিটার্ন করে।
  • চারটি নেস্টেড for লুপ দিয়ে সব সম্ভাব্য কম্বিনেশন চেক করা হয়।
  • যদি first[i] + second[j] + third[k] + fourth[l] == sum হয়, count বাড়ানো হয়।

উদাহরণ কোড

#include <bits/stdc++.h>
using namespace std;

int quadruplets(int first[], int second[], int third[], int fourth[],
                int first_size, int second_size, int third_size, int fourth_size, int sum) {
    int count = 0;
    for (int i = 0; i < first_size; i++) {
        for (int j = 0; j < second_size; j++) {
            for (int k = 0; k < third_size; k++) {
                for (int l = 0; l < fourth_size; l++) {
                    if (first[i] + second[j] + third[k] + fourth[l] == sum) {
                        count++;
                    }
                }
            }
        }
    }
    return count;
}

int main() {
    int first[] = { 7, -8 };
    int second[] = { 7, -2 };
    int third[] = { 4, -2 };
    int fourth[] = { 3, -4 };
    int first_size = sizeof(first) / sizeof(first[0]);
    int second_size = sizeof(second) / sizeof(second[0]);
    int third_size = sizeof(third) / sizeof(third[0]);
    int fourth_size = sizeof(fourth) / sizeof(fourth[0]);
    int sum = 0;
    cout << "Count of quadruplets with given sum are: " << quadruplets(first, second, third, fourth,
         first_size, second_size, third_size, fourth_size, sum);
    return 0;
}

আউটপুট

Count of quadruplets with given sum are: 1
  1. C++-এ দেওয়া XOR সমান হয় এমন জোড়া (Pair) গণনা

  2. C++-এ দেওয়া যোগফলের সাথে সর্বোচ্চ আকারের সাবসেট

  3. নির্দিষ্ট যোগফল দিয়ে সব ট্রিপলেট প্রিন্ট করা C++-তে

  4. নির্দিষ্ট যোগফল দিয়ে সব পেয়ার প্রিন্ট করা C++-তে