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

जावास्क्रिप्ट में जीसीडी की गणना के लिए यूक्लिडियन एल्गोरिथम

<घंटा/>

गणित में, यूक्लिड का एल्गोरिथ्म, दो संख्याओं के सबसे बड़े सामान्य भाजक (GCD) की गणना करने की एक विधि है, सबसे बड़ी संख्या जो दोनों को बिना शेष छोड़े विभाजित करती है।

यूक्लिडियन एल्गोरिथम इस सिद्धांत पर आधारित है कि दो संख्याओं का सबसे बड़ा सामान्य भाजक नहीं बदलता है यदि बड़ी संख्या को उसके अंतर से छोटी संख्या से बदल दिया जाए।

उदाहरण के लिए, 21, 252 और 105 का जीसीडी है (252 =21 × 12 और 105 =21 × 5 के रूप में), और वही संख्या 21 भी 105 और 252 - 105 =147 की जीसीडी है।

चूंकि यह प्रतिस्थापन दो संख्याओं में से बड़ी संख्या को कम कर देता है, इस प्रक्रिया को दोहराने से दो संख्याओं के बराबर होने तक क्रमिक रूप से छोटे जोड़े मिलते हैं। जब ऐसा होता है, तो वे मूल दो संख्याओं की GCD होती हैं।

चरणों को उलट कर, GCD को दो मूल संख्याओं के योग के रूप में व्यक्त किया जा सकता है, जिनमें से प्रत्येक को एक धनात्मक या ऋणात्मक पूर्णांक से गुणा किया जाता है, जैसे, 21 =5 × 105 + (−2) × 252।

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो दो नंबर लेता है और यूक्लिड के एल्गोरिदम का उपयोग उनके जीसीडी (सबसे बड़ा सामान्य भाजक) की गणना करने के लिए करता है

उदाहरण

निम्नलिखित कोड है -

const num1 = 252;
const num2 = 105;
const findGCD = (num1, num2) => {
   let a = Math.abs(num1);
   let b = Math.abs(num2);
   while (a && b && a !== b) {
      if(a > b){
         [a, b] = [a - b, b];
      }else{
         [a, b] = [a, b - a];
      };
   };
   return a || b;
};
console.log(findGCD(num1, num2));

आउटपुट

कंसोल पर आउटपुट निम्न है -

21

  1. जावास्क्रिप्ट में दिज्क्स्ट्रा का एल्गोरिथ्म

    दिज्क्स्ट्रा का एल्गोरिथ्म एक भारित ग्राफ में नोड्स के बीच सबसे छोटा पथ खोजने के लिए एक एल्गोरिथ्म है। हम ग्राफ़ बनाते समय किनारों पर वज़न जोड़ने के लिए नए ऐडएडज और एडडायरेक्टेडएडज विधियों का उपयोग करेंगे। आइए देखें कि यह एल्गोरिथम कैसे काम करता है - दूरी संग्रह बनाएं और स्रोत नोड को छोड़कर सभी कोन

  1. जावास्क्रिप्ट में क्रुस्कल का एल्गोरिदम

    क्रुस्कल का एल्गोरिथम एक लालची एल्गोरिथम है जो इस प्रकार काम करता है - 1. यह ग्राफ़ में सभी किनारों का एक सेट बनाता है। 2. जबकि उपरोक्त सेट खाली नहीं है और सभी शीर्षों को कवर नहीं किया गया है, यह इस सेट से न्यूनतम वजन बढ़त को हटा देता है यह जांचता है कि क्या यह किनारा एक चक्र बना रहा है या सिर्फ

  1. जावास्क्रिप्ट नंबर उदाहरण

    जावास्क्रिप्ट में संख्याओं के लिए एक उदाहरण निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document<