কম্পিউটার

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


আমাদের প্রথম N প্রাকৃতিক সংখ্যার ক্রমাগত বিন্যাস দেওয়া হয়েছে। এখানে লক্ষ্য হল উপাদানগুলির সূচক জোড়া খুঁজে পাওয়া যা নীচে উল্লিখিত শর্ত পূরণ করে −

যদি একটি অ্যারে হয় Arr[], তাহলে i,j হল সূচী, উপাদান জোড়া গণনা যেমন Arr[i]+Arr[j]=max(Arr[x])যেমন i<=x<=j.

অর্থাৎ, Arr[i] এবং A[j]-এর যোগফল এই দুটি সেগমেন্টের মধ্যে হওয়া সর্বোচ্চ উপাদানের সমান।

ইনপুট

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

আউটপুট

Count of index pairs which satisfy the given condition:1

ব্যাখ্যা − জোড়ার যোগফল দেওয়া হয়েছে −

2+4=6, 6 সর্বাধিক কিন্তু 2 এবং 4 এর মধ্যে নয়।

2+1=3, 3 2 এবং 1 এর মধ্যে নয় এবং তাদের মধ্যে সর্বাধিক 4।

2+3=5, 5 2 এবং 3 এর মধ্যে নয় এবং তাদের মধ্যে সর্বাধিক 4।

2+6=8, 8 2 এবং 6 এর মধ্যে নয় এবং তাদের মধ্যে সর্বাধিক 4।

একইভাবে

1+5=6, 6 হল 1 থেকে 5 এর মধ্যে এবং তাদের মধ্যে সর্বোচ্চ 6।

সবগুলোর মধ্যে মাত্র 1 জোড়া আছে যা শর্ত পূরণ করে।

ইনপুট

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

আউটপুট

Count of index pairs which satisfy the given condition:2

ব্যাখ্যা − জোড়ার যোগফল দেওয়া হয়েছে −

1+5=6, 6 সর্বাধিক কিন্তু 1 এবং 5 এর মধ্যে নয়।

1+4=5, 5 হল 1 এবং 4 এর মধ্যে এবং তাদের মধ্যে সর্বোচ্চ 5।

2+3=5, 5 হল 2 এবং 3 এর মধ্যে এবং তাদের মধ্যে সর্বাধিক 5।

1+3=4, 4 হল 1 এবং 3 এর মধ্যে কিন্তু তাদের মধ্যে সর্বোচ্চ 5।

সকলের মধ্যে 2 জোড়া আছে যা শর্ত পূরণ করে।

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

  • পূর্ণসংখ্যা অ্যারে Arr[] সংখ্যা সংরক্ষণ করে এবং এর দৈর্ঘ্যকে আকার দেয়।

  • ফাংশন কাউন্টপেয়ার্স(int A[],int n) ইনপুট হিসাবে একটি অ্যারে এবং এর আকার n নেয় এবং উপরের শর্ত পূরণ করে জোড়ার সংখ্যা ফেরত দেয়..

  • পরিবর্তনশীল গণনা এই ধরনের জোড়ার জন্য প্রাথমিক মান 0 সংরক্ষণ করতে ব্যবহৃত হয়।

  • এখন পর্যন্ত পাওয়া সর্বোচ্চ মানের মান এবং সূচক সংরক্ষণ করতে max1 প্রথম উপাদান এবং এর সূচক 0 হিসাবে maxindex এর সাথে শুরু করুন।

  • লুপ ব্যবহার করে অ্যারেটি অতিক্রম করা শুরু করুন।

  • লুপের জন্য নেস্টেড যদি A[j]>=max1 দেওয়া হয় তাহলে max1 এবং এর সূচক j দিয়ে আপডেট করুন।

  • শেষ হওয়ার পরে উভয় লুপ গণনায় উপস্থিত ফলাফল প্রদান করে।

উদাহরণ

// CPP implementation of the approach
#include<bits/stdc++.h>
using namespace std;
// Function to return the count of
// required index pairs
int countPairs(int A[], int n){
   // To store the required count
   int count = 0;
   int i,j,k;
   int max1=A[0];
   int maxindex=0;
   for ( i = 0; i<n-1; i++){
      for(j=i+1;j<n;j++){
         if(A[j]>=max1){
             max1=A[j];
            maxindex=j;
      }
      if(A[i]+A[j]==max1 && maxindex>=i && maxindex<=j)
         count++;
      }
   }
   // Return count of subsegments
   return count;
}
int main(){
   int Arr[] = {3, 4, 6, 1, 5, 2};
   int size =6;
   cout <<endl<<"Count of index pairs which satisfy the given condition:"
   <<countPairs(Arr,size);
   return 0;
}

আউটপুট

Count of index pairs which satisfy the given condition:1

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

  2. প্রদত্ত বাইনারি অ্যারের সমস্ত উপসর্গ গণনা করুন যা C++ এ x দ্বারা বিভাজ্য

  3. সমস্ত সম্ভাব্য N সংখ্যা সংখ্যা গণনা করুন যা C++ এ প্রদত্ত শর্ত পূরণ করে

  4. A এবং b সংখ্যাগুলি খুঁজুন যা C++ এ প্রদত্ত শর্ত পূরণ করে