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

2 से अधिक विधियों का उपयोग करके किसी संख्या के अंक जोड़ना JavaScript

<घंटा/>

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता होती है जो एक संख्या में और बार-बार अपने अंक को तब तक जोड़ता है जब तक कि यह एक अंक संख्या में परिवर्तित न हो जाए।

हम इस समस्या को दो तरीकों से हल करेंगे -

विधि 1:लूप का उपयोग करना

यह समाधान संख्या के अंकों को पुनरावर्ती रूप से जोड़ने के लिए जबकि लूप का उपयोग करता है।

उदाहरण

const num = 123456;
const addDigits = (num = 1) => {
   let sum = num;
   while(sum % 10 !== sum){
      let sum1 = 0;
      while(sum > 0){
         sum1 += sum % 10;
         sum = Math.floor(sum / 10);
      }
      sum = sum1;
   };
   return sum;
};
console.log(addDigits(num));

विधि 2:स्थिर समय समाधान (O(1) समय जटिलता) का उपयोग करना

यह समाधान गणित के सर्वांगसमता सूत्र का उपयोग करता है, और पाठकों को सलाह दी जाती है कि वे इस समाधान की बेहतर समझ के लिए इस सूत्र को देखें।

उदाहरण

const num = 123456;
const addDigits = (num = 1) => {
   let predicate = (num - 1) % 9;
   return ++predicate;
};
console.log(addDigits(num));

आउटपुट

और दोनों विधियों के लिए कंसोल में आउटपुट होगा -

3

  1. जावास्क्रिप्ट नंबर को अलग-अलग अंकों में कैसे विभाजित करें?

    किसी संख्या को अंकों में विभाजित करने और उनका योग प्रिंट करने के लिए, निम्न कोड चलाने का प्रयास करें - उदाहरण <!DOCTYPE html> <html>    <body>       <script>          var a = 28573;          var sum =

  1. जावास्क्रिप्ट प्रोटोटाइप में विधियों को जोड़ना

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

  1. जावास्क्रिप्ट में किसी संख्या के अंकों को अलग करना

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