কম্পিউটার

C++ এ তৃতীয় উপাদানের সমান দুইটির সমষ্টির মতো একটি ট্রিপলেট খুঁজুন


ধরুন n সংখ্যার একটি অ্যারে আছে। আমাদের তিনটি সংখ্যা খুঁজে বের করতে হবে, যেমন দুটি উপাদানের যোগফল তৃতীয়টির সমান। সুতরাং যদি অ্যারেটি [5, 32, 1, 7, 10, 50, 19, 21, 2] এর মতো হয়, তাহলে আউটপুট হবে 21, 2, 19। যদি এমন কোনো উপাদান খুঁজে না পাওয়া যায়, তাহলে সেই বার্তাটি প্রদর্শন করুন।

এটি সমাধানের জন্য, আমরা নিম্নরূপ কিছু পদক্ষেপ অনুসরণ করব -

  • প্রদত্ত অ্যারে সাজান

  • তারপরে শেষ উপাদান থেকে সর্বশ্রেষ্ঠ উপাদানটি ঠিক করা শুরু করুন এবং তৃতীয় উপাদানের সমষ্টির জন্য অন্য দুটি সংখ্যা খুঁজে পেতে অ্যারেটি অতিক্রম করুন৷

  • দুইটি পয়েন্টার j এবং k নিন, j হল প্রথম থেকে, k হল শেষ থেকে দুটি সংখ্যার ছোটটি বের করতে i - 1 থেকে দুটি সংখ্যার মধ্যে সবচেয়ে বড়টি বের করতে।

  • যদি উভয় সংখ্যার যোগ এখনও Arr[i] থেকে কম হয়, তাহলে আমাদের দুটি সংখ্যার যোগফলের মান বাড়াতে হবে, এর ফলে j পয়েন্টার বাড়াতে হবে, যাতে Arr[j] + Arr[-এর মান বাড়ানো যায়। k]

  • যদি উভয় সংখ্যার যোগ Arr[i] এর চেয়ে বেশি হয়, তাহলে আমাদের দুটি সংখ্যার যোগফলের মান কমাতে হবে, এর ফলে পয়েন্টার k হ্রাস করতে হবে, যাতে Arr[j] + Arr[k এর সামগ্রিক মান হ্রাস পায়। ]

উদাহরণ

#include<iostream>
#include<algorithm>
#define N 5
using namespace std;
void getValueTriplet(int arr[], int n) {
   sort(arr, arr + n);
   for (int i = n - 1; i >= 0; i--) {
      int j = 0;
      int k = i - 1;
      while (j < k) {
         if (arr[i] == arr[j] + arr[k]) {
            cout << "The numbers are " << arr[i] << " " << arr[j] << " " << arr[k] << endl;
            return;
         }
         else if (arr[i] > arr[j] + arr[k])
         j += 1;
         else
         k -= 1;
      }
   }
   cout << "No such triplet exists";
}
int main() {
   int arr[] = { 5, 32, 1, 7, 10, 50, 19, 21, 2 };
   int n = sizeof(arr) / sizeof(arr[0]);
   getValueTriplet(arr, n);
}

আউটপুট

The numbers are 21 2 19

  1. বৃত্তাকার অ্যারেতে সর্বাধিক যোগফল যাতে C++ এ দুটি উপাদান সংলগ্ন থাকে না

  2. x এর সমষ্টি এবং এর সংখ্যা C++ এ দেওয়া n-এর সমান

  3. C++ প্রোগ্রাম 'k' খুঁজে বের করার জন্য যাতে প্রতিটি অ্যারের উপাদানের সাথে এর মডুলাস একই থাকে

  4. C++ প্রোগ্রাম অনন্য জোড়া খুঁজে বের করার জন্য যাতে প্রতিটি উপাদান N এর থেকে কম বা সমান হয়