हमें एक ऐसा फलन लिखना है जो दो संख्याओं को स्वीकार करता है और उनका सबसे छोटा उभयनिष्ठ गुणनफल देता है।
कम से कम सामान्य गुणक (LCM)
दो संख्याओं a और b का लघुत्तम समापवर्तक सबसे छोटा धनात्मक पूर्णांक है जो a और b दोनों से विभाज्य है।
उदाहरण के लिए - 6 और 8 का एलसीएम 24 है क्योंकि 24 सबसे छोटा धनात्मक पूर्णांक है जो 6 और 8 दोनों से विभाजित होता है।
एलसीएम की गणना करने की विधि
दो संख्याओं a और b के LCM की गणना करने के कई तरीकों में से एक है a और b के गुणनफल को सबसे बड़े पूर्णांक (जिसे सबसे बड़ा सामान्य भाजक या GCD भी कहा जाता है) से विभाजित करना जो दोनों और b को विभाजित करता है।
6 और 8 के मामले में, उनका गुणनफल 48 है और सबसे बड़ा पूर्णांक जो उन दोनों को विभाजित करता है, 2 है तो उनका एलसीएम है -
(6*8)/2 = 24
इन बातों को स्पष्ट करने के बाद, अब कोडिंग भाग पर चलते हैं -
उदाहरण
const lcm = (a, b) => { let min = Math.min(a, b); while(min >= 2){ if(a % min === 0 && b % min === 0){ return (a*b)/min; }; min--; }; return (a*b); }; console.log(lcm(6, 8)); console.log(lcm(16, 18)); console.log(lcm(0, 8)); console.log(lcm(11, 28)); console.log(lcm(18, 34));
कोड को समझना
चूंकि सबसे बड़ा पूर्णांक जो दोनों संख्याओं को पूरी तरह से विभाजित करता है, वह अभी भी दो संख्याओं में से छोटा या बराबर होगा, हम एलसीएम की गणना कर रहे हैं, हम छोटी संख्या से घटते हुए लूप को 2 तक कम करते हैं।
अगर हमारे पुनरावृत्तियों में हमें कोई भी संख्या मिलती है जो दोनों संख्याओं को विभाजित करती है तो हम गारंटी दे सकते हैं कि यह सबसे बड़ी संख्या है जो उन दोनों को विभाजित करती है क्योंकि हम घटते लूप में हैं, इसलिए हम एलसीएम के साथ वहीं लौटते हैं।
अगर हम पूर्ण के माध्यम से पुनरावृति करते हैं तो इसका मतलब है कि हमें ऐसी कोई संख्या नहीं मिली और 1 एकमात्र संख्या है जो उन दोनों को विभाजित करती है (दूसरे शब्दों में संख्याएं सह-अभाज्य हैं), इसलिए हम उनका उत्पाद वापस कर देते हैं।
आउटपुट
कंसोल में आउटपुट होगा -
24 144 0 308 306