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

N से कम या उसके बराबर तीन पूर्णांक इस प्रकार ज्ञात कीजिए कि उनका LCM अधिकतम हो - C++

इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो LCM की अवधारणाओं पर आधारित है। जैसा कि शीर्षक में कहा गया है, हमें तीन संख्याएँ ज्ञात करनी हैं जो दी गई संख्या से कम या उसके बराबर हैं जिनका LCM अधिकतम है।

आइए एक उदाहरण देखें।

समस्या में गोता लगाने से पहले आइए देखें कि एलसीएम क्या है और इसके लिए प्रोग्राम लिखें।

एलसीएम किसी संख्या का लघुत्तम समापवर्त्य है। इसे कम से कम सामान्य भाजक के रूप में भी जाना जाता है। दो धनात्मक संख्या a और b के लिए, LCM सबसे छोटा पूर्णांक है जो a और b दोनों से समान रूप से विभाजित होता है।

यदि दिए गए पूर्णांकों में उभयनिष्ठ गुणनखंड नहीं है, तो LCM दी गई संख्याओं का गुणनफल है।

उदाहरण

आइए दिए गए किन्हीं दो धनात्मक संख्याओं का LCM ज्ञात करने के लिए प्रोग्राम लिखें।

#include <iostream>
using namespace std;
int main() {
   int a = 4, b = 5;
   int maximum = max(a, b);
   while (true) {
      if (maximum % a == 0 && maximum % b == 0) {
         cout << "LCM: " << maximum << endl;
         break;
      }
      maximum++;
   }
}

आउटपुट

यदि आप उपरोक्त प्रोग्राम चलाते हैं, तो आपको निम्न आउटपुट मिलेगा।

20

हमने देखा है कि LCM क्या है और दो धनात्मक संख्याओं का LCM ज्ञात करने का कार्यक्रम है।

आइए समस्या को हल करने के लिए चरणों को देखें।

  • यदि संख्या विषम है तो अधिकतम LCM वाली तीन संख्याएँ हैं n, n-1, और n - 3

  • यदि संख्या सम है और n . का GCM है और n - 3 1 . है तो अधिकतम एलसीएम वाली तीन संख्याएं हैं n, n - 1 , और n - 3

  • अन्यथा अधिकतम एलसीएम वाली तीन संख्याएं हैं n - 1, n - 2 , और n - 3

उदाहरण

आइए कोड देखें।

#include <bits/stdc++.h>
using namespace std;
void threeNumbersWithMaxLCM(int n) {
   if (n % 2 != 0) {
      cout << n << " " << (n - 1) << " " << (n - 2);
   }
   else if (__gcd(n, (n - 3)) == 1) {
      cout << n << " " << (n - 1) << " " << (n - 3);
   }
   else {
      cout << (n - 1) << " " << (n - 2) << " " << (n - 3);
   }
   cout << endl;
}
int main() {
   int n = 18;
   threeNumbersWithMaxLCM(n);
   return 0;
}

आउटपुट

यदि आप उपरोक्त प्रोग्राम को निष्पादित करते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।

17 16 15

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।


  1. ऐसे तत्वों की अधिकतम संख्या ज्ञात कीजिए जिनका निरपेक्ष अंतर C++ में 1 से कम या बराबर हो

    मान लीजिए कि हमारे पास n तत्वों की एक सरणी है। हमें सरणी से चयन करने के लिए तत्वों की अधिकतम संख्या का पता लगाना है, जैसे कि चुने हुए तत्वों में से किन्हीं दो के बीच पूर्ण अंतर 1 से कम या बराबर है। इसलिए यदि सरणी [2, 2, 3, 4, की तरह है, 5], तो तत्व 3 होगा, इसलिए अधिकतम गिनती वाला क्रम 2, 2, 3 है। 0

  1. C++ में n से कम या उसके बराबर सभी भाज्य संख्याएँ ज्ञात कीजिए

    यहां हम देखेंगे कि n से कम या उसके बराबर सभी भाज्य संख्याओं को कैसे मुद्रित किया जाता है, एक संख्या N को भाज्य संख्या कहा जाता है यदि यह एक धनात्मक संख्या का भाज्य है। तो कुछ भाज्य संख्याएं 1, 2, 6, 24, 120 हैं। फैक्टोरियल नंबर प्रिंट करने के लिए, हमें सीधे फैक्टोरियल खोजने की जरूरत नहीं है। I =1 स

  1. सी ++ प्रोग्राम अद्वितीय जोड़े खोजने के लिए जैसे कि प्रत्येक तत्व एन से कम या बराबर है

    इस लेख में, हम एन से कम या उसके बराबर तत्वों वाली संख्याओं के अद्वितीय जोड़े खोजने और कुछ निश्चित शर्तों का पालन करने के लिए एक कार्यक्रम पर चर्चा करेंगे - दो संख्याओं के बीच के अंतर का वर्ग उन दो संख्याओं के एलसीएम के बराबर होना चाहिए। उन दो संख्याओं के HCF को किन्हीं दो क्रमागत संख्याओं के ग