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

C++-এ তিনটি সংখ্যা খুঁজুন যাতে দুটির যোগফল তৃতীয়টির সমান

একটি অ্যারে দেওয়া আছে। তিনটি সংখ্যা খুঁজে বের করতে হবে যাতে দুটির যোগফল তৃতীয়টির সমান হয়।

উদাহরণ: অ্যারে: [5, 32, 1, 7, 10, 50, 19, 21, 2] → আউটপুট: 21, 2, 19 (কারণ 2+19=21)।

সর্টিং + টু পয়েন্টার পদ্ধতি
  • অ্যারেটি সর্ট করুন।
  • সর্বোচ্চ উপাদান (i) ঠিক করে দুটি পয়েন্টার (j=শুরু, k=i-1) দিয়ে বাকি দুটি সংখ্যা খুঁজুন।
  • যোগফল কম হলে j বাড়ান, বেশি হলে 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. দেওয়া সংখ্যা n-এর জন্য x + x-এর অঙ্কের যোগফল = n এমন x খুঁজে বের করা C++-এ

  3. C++ প্রোগ্রাম: 'k' বের করা যাতে অ্যারে সব উপাদানের সাথে মডুলাস সমান

  4. C++ প্রোগ্রাম: ইউনিক পেয়ার বের করা যারা N-র চোয় ছোট ও শর্ত পূরণ করে