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

C++ में X = P*A + Q*B के लिए दिए गए A और B का न्यूनतम धनात्मक पूर्णांक मान X


समस्या विवरण

A और B के मान दिए गए हैं, समीकरण X = P*A + Q*B में प्राप्त होने वाले X का न्यूनतम धनात्मक पूर्णांक मान ढूंढें। यहां P और Q शून्य या कोई भी धनात्मक या ऋणात्मक पूर्णांक हो सकते हैं।

उदाहरण

यदि A = 2 और B = 4 तो उत्तर 2 होगा।

एल्गोरिदम

  • हमें P और Q ढूंढने होंगे जैसे कि P*A > P*B और P*A - P*B न्यूनतम धनात्मक पूर्णांक हो।
  • इस समस्या को दोनों संख्याओं के GCD की गणना करके आसानी से हल किया जा सकता है।

उदाहरण

#include <iostream> 
using namespace std; 

int getGcd(int a, int b) { 
    if (a == 0) { 
        return b; 
    } 
    return getGcd(b % a, a); 
} 

int main() { 
    cout << "Answer = " << getGcd(2, 4) << endl; 
    return 0; 
}

आउटपुट

जब आप उपरोक्त प्रोग्राम को कंपाइल और एक्जीक्यूट करते हैं। यह निम्नलिखित आउटपुट उत्पन्न करता है:

Answer = 2

  1. - C++ में न्यूनतम धनात्मक पूर्णांक जो C से विभाज्य हो और रेंज [A, B] में न हो

    मान लीजिए हमारे पास तीन पूर्णांक A, B, और C हैं। हमें एक न्यूनतम पूर्णांक X ढूंढना है, जैसे कि X mod C = 0, और X रेंज [A, B] में नहीं है। यदि A, B और C के मान 5, 10 और 4 हैं, तो X का मान 4 होगा। समाधान प्राप्त करने के चरण देखते हैं: चरण − यदि C रेंज [A, B] में नहीं है, तो C को परिणाम के रूप म

  1. - C++ में सभी संभावित सब-एरेज में न्यूनतम LCM और GCD

    मान लीजिए हमारे पास आकार N की एक सरणी arr है। इसमें N धनात्मक संख्याएं हैं। हमें सभी संभावित सबएरेज के न्यूनतम एलिमेंट्स ढूंढने हैं। मान लीजिए सरणी {2, 66, 14, 521} है, तो न्यूनतम LCM 2 है, और GCD 1 है। हम इस समस्या को लालची दृष्टिकोण का उपयोग करके हल करेंगे। यदि हम एलिमेंट्स की संख्या घटाते हैं, तो

  1. - C++ में रेंज [A, B] में C से विभाज्य अधिकतम धनात्मक पूर्णांक

    यहां हम एक दिलचस्प समस्या देखेंगे। मान लीजिए हमारे पास तीन पूर्णांक A, B, और C हैं। हमें एक न्यूनतम पूर्णांक X ढूंढना है, जैसे कि X mod C = 0, और X रेंज [A, B] में नहीं है। यदि A, B और C के मान 5, 10 और 4 हैं, तो X का मान 4 होगा। समाधान प्राप्त करने के चरण: चरण − यदि C रेंज [A, B] में नहीं है