কম্পিউটার

জোড়ার সর্বাধিক সংখ্যা যা C++ এ একই যোগফল তৈরি করে


আমাদের পূর্ণসংখ্যার একটি অ্যারে দেওয়া হয়। লক্ষ্য হল অ্যারেতে সর্বাধিক সংখ্যক জোড়া খুঁজে বের করা যা যোগ করলে একই যোগফল উৎপন্ন হয়। আমাদের এই ধরনের জোড়ার সর্বাধিক সংখ্যা খুঁজে বের করতে হবে।

ইনপুট

Arr[]= { 1,2,3,4,2 }

আউটপুট

Maximum count of pairs with same sum : 3

ব্যাখ্যা − সংখ্যার জোড়ার সমষ্টি −

{1,2}, {1,2} Sum:3
{1,3},{2,2} Sum:4
{1,4},{2,3},{3,2} Sum:5
{2,4} Sum:6
{3,4} Sum:7
Maximum count of pairs with same sum is 3 ( for sum = 5 )

ইনপুট

Arr[]= { 5,3,6,1 }

আউটপুট

Maximum count of pairs with same sum : 1

ব্যাখ্যা − সংখ্যার জোড়ার সমষ্টি −

{5,3} Sum:8
{5,6} Sum:11
{5,1} Sum:6
{3,6} Sum:9
{3,1} Sum:4
{6,1} Sum:7
Maximum count of pairs with the same sum is 1.

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • পূর্ণসংখ্যা অ্যারে Arr[] পূর্ণসংখ্যা সংরক্ষণ করতে ব্যবহৃত হয়।

  • পূর্ণসংখ্যা 'আকার' অ্যারের দৈর্ঘ্য সংরক্ষণ করে।

  • ফাংশন countEqualSum( int arr[], int n) একটি অ্যারে নেয়, এর আকার ইনপুট হিসাবে এবং সর্বাধিক জোড়ার সংখ্যা প্রদান করে যা একই যোগফল তৈরি করে।

  • সর্বপ্রথম আমরা অনন্য যোগফলের ফ্রিকোয়েন্সি সংরক্ষণ করার জন্য 'সমষ্টি' অ্যারে নেব।

  • যোগফলের প্রতিটি সূচকে, সেই উপাদানের সংখ্যা বৃদ্ধি।

  • অ্যারের যোগফলের প্রতিটি সূচক হল এক জোড়া উপাদানের যোগফল।

  • অ্যারের যোগফলের মধ্যে সর্বাধিক উপাদান অনুসন্ধান করে সর্বাধিক এ জাতীয় গণনা খুঁজুন এবং maxC এ সংরক্ষণ করুন।

  • ফলাফল হিসাবে maxC ফেরত দিন

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
// Function to return the maximum
// count of pairs with equal sum
int countEqualSum(int arr[], int n){
   int sum[20]={0};
   int maxC = 0;
   // Store counts of sum of all pairs
   for (int i = 0; i < n - 1; i++)
      for (int j = i + 1; j < n; j++){
         sum[ arr[i]+arr[j] ]++;
      }
      for(int i=0;i<20;i++)
         if(sum[i]>maxC)
            maxC=sum[i];
   return maxC;
}
int main(){
   int Arr[] = { 1,2,3,4,2 };
   int size = 5;
   cout <<”Maximum count of pairs which generate the same sum”
   << countEqualSum(Arr, size);
   return 0;
}

আউটপুট

Maximum count of pairs which generate the same sum : 3

  1. সূচক জোড়া গণনা করুন যা C++ এ প্রদত্ত শর্ত পূরণ করে

  2. C++ এ একই অঙ্কের সমষ্টিযুক্ত দুটি অ্যারে থেকে স্বতন্ত্র জোড়া গণনা করুন

  3. C++ এ প্রদত্ত অ্যারেতে থাকা স্বতন্ত্র জোড়ার সংখ্যা গণনা করুন

  4. C++ এ সর্বাধিক সংখ্যক বার হওয়া সমস্ত যোগফল প্রিন্ট করুন