Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में न्यूनतम धनात्मक पूर्णांक x ढूंढें जैसे कि a(x²) + b(x) + c ≥ k


मान लीजिए हमारे पास चार पूर्णांक a, b, c और k हैं। हमें न्यूनतम धनात्मक मान x ढूंढना है, जैसे कि निम्नलिखित समीकरण संतुष्ट हो -

ax² + bx + c ≥ k

यदि a = 3, b = 4, c = 5 और k = 6, तो आउटपुट 1 होगा

इसे हल करने के लिए, हम बाईसेक्शन दृष्टिकोण का उपयोग करेंगे। निचली सीमा 0 होगी क्योंकि x एक न्यूनतम धनात्मक पूर्णांक होना चाहिए।

उदाहरण

#include 
using namespace std;

int getMinX(int a, int b, int c, int k) {
    int x = INT8_MAX;
    if (k <= c)
        return 0;
    int right = k - c;
    int left = 0;
    while (left <= right) {
        int mid = (left + right) / 2;
        int val = (a * mid * mid) + (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);
}

आउटपुट -

Minimum value of x is: 2

  1. - C++ का उपयोग करके सरणी में ऐसा तत्व खोजें जिसके बाएं और दाएं उपसरणी का योग समान हो

    मान लीजिए हमारे पास एक सरणी A है, जिसमें n तत्व हैं। हमारा कार्य सरणी A को दो उपसरणी में विभाजित करना है, ताकि प्रत्येक उपसरणी का योग समान हो। मान लीजिए सरणी A = [2, 3, 4, 1, 4, 5], आउटपुट 1 है, इसलिए 1 से पहले और बाद की उपसरणी ली जाती हैं: [2, 3, 4], और [4, 5]। इस समस्या को हल करने के लिए, हम पहले

  1. - C++ में सरणी में उन सभी जोड़े (a, b) को खोजें जैसे कि a % b = k

    मान लीजिए हमारे पास एक सरणी A है, उस सरणी से हमें सभी जोड़े (a, b) प्राप्त करने हैं जैसे कि a%b = k। मान लीजिए सरणी A = [2, 3, 4, 5, 7], और k = 3, तो जोड़े हैं (7, 4), (3, 4), (3, 5), (3, 7)। इसे हल करने के लिए, हम सूची को पार करेंगे और जांचेंगे कि दी गई शर्त पूरी हो रही है या नहीं। उदाहरण #include

  1. - C++ में दी गई संख्या n के लिए x ढूंढें जहां x + अंकों का योग = n

    समस्या विवरण एक संख्या n दी गई है, हमें एक मान x ढूंढना है जिससे x + x के अंकों का योग = n हो। उदाहरण के लिए, n = 21 के लिए, x = 15 होगा क्योंकि 15 + (1+5) = 21। हल दृष्टिकोण सरल दृष्टिकोण: 1 से n तक पुनरावृति करें, प्रत्येक संख्या के लिए जांचें कि क्या संख्या + उसके अंकों का योग = n है। यदि हां,