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

C++ में अज्ञात संख्याओं के दिए गए उत्पाद से अधिकतम GCD


मान लीजिए हमारे पास दो पूर्णांक N और P हैं। P, N अज्ञात पूर्णांकों का उत्पाद है। हमें उन पूर्णांकों का GCD ढूंढना है। ऐसे पूर्णांकों के अलग-अलग समूह संभव हैं जो समान परिणाम देंगे। यहां हम सभी संभावित समूहों में से अधिकतम GCD उत्पन्न करेंगे। मान लीजिए N = 3, और P = 24, तो अलग-अलग समूह होंगे जैसे {1, 1, 24}, {1, 2, 12}, {1, 3, 8}, {1, 4, 6}, {2, 2, 6}, {2, 3, 4}। GCD हैं: 1, 1, 1, 1, 2, 1। तो उत्तर यहां 2 है।

तकनीक ऐसी है, मान लीजिए g, a1, a2, … an का GCD है। तब ai, g का गुणक है, और P, (a1 * a2 * … * an) होना चाहिए gn का गुणक। उत्तर अधिकतम g है जैसे कि gn mod P = 0। अब मान लीजिए P = k1p1 * k2p1 * … * knpn। g का रूप ऐसा होना चाहिए, फिर g को अधिकतम करने के लिए, हमें pi = pi / N चुनना होगा।

उदाहरण

#include <iostream> #include <cmath> using namespace std; long getMaxGCD(long n, long p) {    int count = 0;    long gcd = 1;    while (p % 2 == 0) {       p >>= 1;       count++; //P के 2 से विभाजित होने की संख्या    }    if (count > 0) //यदि p में कुछ 2 हैं, तो       gcd = gcd * (long)pow(2, count / n);    for (long i = 3; i <= sqrt(p); i += 2) { //2 के बाद सभी संख्याओं की जांच       count = 0;       while (p % i == 0) {          count++;          p = p / i;       }       if (count > 0) {          gcd = gcd * (long)pow(i, count / n);       }    }    // यदि अंत में n एक अभाज्य संख्या है    if (p > 2)       gcd = gcd * (long)pow(p, 1 / n);    return gcd; } int main() {    long n = 3;    long p = 24;    cout << "MAX GCD: " << getMaxGCD(n, p); }

आउटपुट

MAX GCD: 2

  1. - दिए गए परिमाप और क्षेत्रफल से घनाभ का अधिकतम आयतन खोजें C++ में

    मान लीजिए हमारे पास क्षेत्रफल A और परिमाप P है, अब हमें खोजना है कि दिए गए परिमाप और पृष्ठीय क्षेत्रफल से घनाभ के रूप में अधिकतम आयतन क्या बनाया जा सकता है। तो जब P 24 है और A 24 है, तो आउटपुट 8 होगा। हम जानते हैं कि घनाभ के दिए गए परिमाप के लिए P = 4(लंबाई + चौड़ाई + ऊंचाई), क्षेत्रफल के लिए, यह A

  1. - C++ में दिए गए उत्पाद के साथ N पूर्णांकों का अधिकतम GCD

    मान लीजिए हमारे पास दो पूर्णांक N और P हैं। P, N अज्ञात पूर्णांकों का उत्पाद है। हमें उन पूर्णांकों के अधिकतम संभव GCD को ढूंढना है। मान लीजिए N = 3, और P = 24, तो अलग-अलग समूह होंगे जैसे {1, 1, 24}, {1, 2, 12}, {1, 3, 8}, {1, 4, 6}, {2, 2, 6}, {2, 3, 4}। GCD हैं: 1, 1, 1, 1, 2, 1। तो उत्तर यहां 2 ह

  1. - C++ में दिए गए कोण से चाप की लंबाई

    एक कोण (Angle) तब बनता है जब दो किरणें एक बिंदु पर मिलती हैं। वह बिंदु जिस पर ये किरणें तल पर मिलती हैं, शीर्ष कहलाता है। चाप (Arc) एक वृत्त की परिधि का वह भाग है जो एक कोण द्वारा वर्णित होता है। इस समस्या में, हमें वृत्त का एक कोण दिया गया है। और हमें दिए गए वृत्त के व्यास का उपयोग करके चाप की लंब