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

C++ प्रोग्राम: GCD (महत्तम समापवर्तक) खोजें

परिचय

दो संख्याओं का महत्तम समापवर्तक (GCD) वह सबसे बड़ी संख्या है जो दोनों को विभाजित करती है।

उदाहरण के लिए: मान लें हमारे पास दो संख्याएं हैं 45 और 27।

45 = 5 * 3 * 3
27 = 3 * 3 * 3

इसलिए, 45 और 27 का GCD 9 है।

उदाहरण 1 (यूक्लिडियन एल्गोरिदम)

#include <iostream>
using namespace std;

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

int main() {
    int a = 105, b = 30;
    cout << "GCD of " << a << " and " << b << " is " << gcd(a, b);
    return 0;
}

आउटपुट

GCD of 105 and 30 is 15

उपरोक्त प्रोग्राम में, gcd() एक रिकर्सिव फ़ंक्शन है। इसके दो पैरामीटर हैं यानी a और b। यदि b 0 से अधिक है, तो a को main() फ़ंक्शन में लौटाया जाता है। अन्यथा gcd() फ़ंक्शन स्वयं को b और a%b मानों के साथ पुनरावर्ती रूप से कॉल करता है।

उदाहरण 2 (घटाव विधि)

#include <iostream>
using namespace std;

int gcd(int a, int b) {
    if (a == 0 || b == 0)
        return 0;
    else if (a == b)
        return a;
    else if (a > b)
        return gcd(a - b, b);
    else
        return gcd(a, b - a);
}

int main() {
    int a = 105, b = 30;
    cout << "GCD of " << a << " and " << b << " is " << gcd(a, b);
    return 0;
}

आउटपुट

GCD of 105 and 30 is 15

उपरोक्त प्रोग्राम में, gcd() एक रिकर्सिव फ़ंक्शन है। यदि a या b 0 है, तो फ़ंक्शन 0 लौटाता है। यदि a या b बराबर हैं, तो फ़ंक्शन a लौटाता है। यदि a, b से बड़ा है, तो फ़ंक्शन स्वयं को a-b और b मानों के साथ पुनरावर्ती रूप से कॉल करता है। यदि b, a से बड़ा है, तो फ़ंक्शन स्वयं को a और b-a मानों के साथ पुनरावर्ती रूप से कॉल करता है।

  1. C++ में रेखा का मध्य बिंदु खोजने का प्रोग्राम C++ में रेखा का मध्य बिंदु खोजने का प्रोग्राम

    इस समस्या में, हमें दो बिंदु A और B दिए गए हैं, एक रेखा के प्रारंभिक और अंतिम बिंदु। हमारा कार्य C++ में रेखा का मध्य बिंदु खोजने के लिए एक प्रोग्राम बनाना है। समस्या विवरण यहां, हमारे पास प्रारंभिक और अंतिम बिंदु A(x1, y1) और B(x2, y2) वाली एक रेखा है। और हमें रेखा का मध्य बिंदु ज्ञात करना है। उद

  1. C++ में त्रिभुज के केंद्रक (Centroid) ज्ञात करने का प्रोग्राम C++ में त्रिभुज के केंद्रक (Centroid) ज्ञात करने का प्रोग्राम

    इस समस्या में, हमें एक 2D ऐरे दिया गया है जो त्रिभुज के तीन शीर्षों के निर्देशांक को दर्शाता है। हमारा कार्य C++ में त्रिभुज के केंद्रक (Centroid) ज्ञात करने का प्रोग्राम बनाना है।केंद्रक (Centroid) त्रिभुज का वह बिंदु है जहां त्रिभुज की तीनों मध्यिकाएं (medians) प्रतिच्छेद करती हैं।मध्यिका (Median)

  1. - C++ प्रोग्राम: फैक्टोरियल खोजें

    परिचयएक गैर-ऋणात्मक पूर्णांक n का फैक्टोरियल उन सभी धनात्मक पूर्णांकों का गुणनफल है जो n से कम या बराबर हैं। उदाहरण के लिए: 5 का फैक्टोरियल 120 है। 5! = 5 * 4 * 3 * 2 * 1 5! = 120 एक पूर्णांक का फैक्टोरियल रिकर्सिव प्रोग्राम या नॉन-रिकर्सिव प्रोग्राम का उपयोग करके पाया जा सकता है। दोनों के उदाहरण नी