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

দ্বিঘাত অসমতা a x^2 + b x + c >= k সিদ্ধ করে ন্যূনতম x (C++)

চারটি পূর্ণসংখ্যা a, b, c, k দেওয়া আছে। a x² + b x + c ≥ k সিদ্ধ করে এমন ন্যূনতম ধনাত্মক পূর্ণসংখ্যা x বের করুন। বাইনারি সার্চ (বাইсекশন) ব্যবহার করুন।

উদাহরণ

#include <iostream>
#include <climits>
using namespace std;

int getMinX(int a, int b, int c, int k) {
    if (k <= c) return 0;
    int left = 0, right = k - c, x = INT_MAX;
    while (left <= right) {
        int mid = (left + right) / 2;
        long long val = 1LL*a*mid*mid + 1LL*b*mid;
        if (val > k - c) { x = min(x, mid); right = mid - 1; }
        else if (val < k - c) left = mid + 1;
        else return mid;
    }
    return x;
}

int main() {
    int a = 3, b = 2, c = 4, k = 15;
    cout << "Minimum value of x is: " << getMinX(a, b, c, k);
    return 0;
}

আউটপুট

Minimum value of x is: 2
  1. C++ ব্যবহার করে অ্যারেতে XOR ০ হয় এমন জোড়ার সংখ্যা বের করা

  2. C++ ব্যবহার করে অ্যারেতে বাম ও ডান পাশের যোগফল সমান হয় এমন এলিমেন্ট বের করা

  3. C++ ব্যবহার করে অ্যারেতে a % b = k সেটি করার সব জোড়া (a, b) বের করা

  4. দেওয়া সংখ্যা n-এর জন্য x + x-এর অঙ্কের যোগফল = n এমন x খুঁজে বের করা C++-এ