हमें एक फ़ंक्शन लिखना है जो दो संख्याओं को स्वीकार करता है और उनका लघुत्तम समापवर्तक (LCM) लौटाता है।
लघुत्तम समापवर्तक (LCM)
दो संख्याओं a और b का लघुत्तम समापवर्तक वह सबसे छोटी धनात्मक पूर्णांक है जो a और b दोनों से विभाज्य हो।
उदाहरण के लिए - 6 और 8 का LCM 24 है क्योंकि 24 सबसे छोटी धनात्मक पूर्णांक है जो 6 और 8 दोनों से विभाजित होती है।
LCM निकालने की विधि
दो संख्याओं a और b का LCM निकालने के कई तरीकों में से एक है a और b के गुणनफल को उनके महत्तम समापवर्तक (GCD) से विभाजित करना।
6 और 8 के मामले में, उनका गुणनफल 48 है और वह सबसे बड़ी पूर्णांक जो दोनों को विभाजित करती है वह 2 है, इसलिए उनका LCM है:
(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));
कोड को समझना
चूँकि वह सबसे बड़ी पूर्णांक जो दोनों संख्याओं को सटीक रूप से विभाजित करती है, वह अभी भी उन दो संख्याओं में से छोटी संख्या से छोटी या बराबर होगी जिनका हम LCM निकाल रहे हैं, हम छोटी संख्या से 2 तक एक घटता हुआ लूप चलाते हैं।
यदि हमारी पुनरावृत्तियों में हमें कोई ऐसी संख्या मिलती है जो दोनों संख्याओं को विभाजित करती है, तो हम गारंटी दे सकते हैं कि वह उन दोनों को विभाजित करने वाली सबसे बड़ी संख्या है क्योंकि हम एक घटते हुए लूप में हैं, इसलिए हम वहीं LCM के साथ लौट आते हैं।
यदि हम पूरी पुनरावृत्ति कर लेते हैं तो इसका मतलब है कि हमें ऐसी कोई संख्या नहीं मिली और 1 ही एकमात्र संख्या है जो उन दोनों को विभाजित करती है (दूसरे शब्दों में संख्याएँ सह-अभाज्य हैं), इसलिए हम बस उनका गुणनफल लौटाते हैं।
आउटपुट
कंसोल में आउटपुट होगा:
24 144 0 308 306