इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो 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
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।