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

JavaScript में संख्या को 1 तक लाना


समस्या

हमें एक JavaScript फ़ंक्शन लिखना है जो संख्या num को एकमात्र आर्ग्युमेंट के रूप में लेता है।

  • हमारा फ़ंक्शन num पर केवल ये दो संचालन कर सकता है: यदि num सम है, तो हम num को num/2 से बदल सकते हैं।

  • यदि num विषम है, तो हम num को या तो num + 1 या num - 1 से बदल सकते हैं।

केवल इन दो संचालनों के संयोजन का उपयोग करके हमारे फ़ंक्शन को यह गणना करनी होगी कि num को 1 तक लाने के लिए न्यूनतम कितने संचालन की आवश्यकता है। फ़ंक्शन को न्यूनतम संचालनों की संख्या वापस करनी चाहिए।

उदाहरण

यदि फ़ंक्शन का इनपुट है:

const num = 7;

तो आउटपुट होना चाहिए:

const output = 4;

आउटपुट व्याख्या:

क्योंकि सबसे छोटे संभव संचालन हैं:

7 -> 8 -> 4 -> 2 -> 1 or 7 -> 6 -> 3 -> 2 -> 1

कोड

const num = 7; const downToOne = (num = 1) => {    let min = Number.POSITIVE_INFINITY;    let stack = [{ num: num, step: 0 }];    let set = new Set();    let next;    let item;    while (stack.length) {       item = stack.shift();       if (item.num === 1) {          if (min > item.step) {             min = item.step;          }          continue;       }       if (set.has(item.num) || item.step >= min) {          continue;       }       set.add(item.num);       next = item.step + 1;       if (item.num % 2 === 0) {          item.num /= 2;          stack.push({ num: item.num, step: next });       } else {          stack.push({ num: item.num - 1, step: next });          stack.push({ num: item.num + 1, step: next });       }    }    return min; }; console.log(downToOne(num));

आउटपुट

कंसोल में आउटपुट होगा:

4
  1. - JavaScript में संख्या को वर्णों में बदलें

    मान लीजिए हमारे पास एक लॉगिन सिस्टम है जहां उपयोगकर्ताओं को एक अद्वितीय userID प्रदान करना आवश्यक है ताकि उनकी विशिष्ट पहचान हो सके। और स्पष्ट सुरक्षा कारणों से, हम userID को अस्पष्ट करना चाहते हैं ताकि संख्या का अनुमान लगाना काफी कठिन हो।मूल रूप से, हमें दो फ़ंक्शन लिखने की आवश्यकता है।encode(),dec

  1. - जावास्क्रिप्ट में संख्या को 10 की निकटतम घात तक नीचे गोल करना

    हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक संख्या लेता है। फ़ंक्शन को 10 की उस घात को लौटाना चाहिए जो इनपुट संख्या के निकटतम हो।उदाहरण के लिए -f(1) = 1 f(5) = 1 f(15) = 10 f(43) = 10 f(456) = 100 f(999) = 100उदाहरण 1) { count++; num /= 10; } return Math.pow(10, count - 1) * (M

  1. - जावास्क्रिप्ट में संख्या का गुणनखंड करना

    हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एकमात्र तर्क के रूप में एक धनात्मक पूर्णांक लेता है। फ़ंक्शन को उन सभी संख्याओं की एक सरणी बनाकर लौटानी चाहिए जो इनपुट संख्या को बिल्कुल विभाजित करती हैं।उदाहरण के लिए -यदि इनपुट संख्या है -const num = 12;तो आउटपुट होना चाहिए -const output = [1, 2, 3, 4, 6,