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

जावास्क्रिप्ट में संख्याओं के द्विआधारी प्रतिनिधित्व में 1s की गणना करना

<घंटा/>

समस्या

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो एक पूर्णांक, संख्या को पहले और एकमात्र तर्क के रूप में लेता है। हमारे फ़ंक्शन को 0 और अंक (दोनों सहित) के बीच प्रत्येक संख्या के लिए एक सरणी तैयार करनी चाहिए, प्रत्येक संख्या के लिए, संबंधित तत्व उस संख्या के द्विआधारी प्रतिनिधित्व में निहित 1s की संख्या होनी चाहिए।

उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -

const num = 4;

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

const output = [0, 1, 1, 2, 1];

आउटपुट स्पष्टीकरण:

क्योंकि 0 में 0 होता है, इसके बाइनरी फॉर्म 1 में 1 होता है, और इसी तरह।

उदाहरण

इसके लिए कोड होगा -

const num = 4;
const mapBinary = (num = 0) => {
   if (num === 0){
      return [0];
   };
   const res = [0];
   for (let i = 1; i <= num; i++) {
      const n = i % 2 === 0 ? res[i/2] : res[Math.floor(i/2)] + 1;
      res.push(n);
   };
   return res;
};

कोड स्पष्टीकरण:

बिट्स की गणना करते समय, कुछ चीजें हैं जिन्हें हम चीजों को आसान बनाने के लिए ध्यान में रख सकते हैं।

  • numberOfBits(n) ===numberOfBits(2*n) , दूसरे परिणाम को पहले परिणाम की तुलना में एक और 0 बिट मिलता है।

  • यदि n एक सम संख्या है, तो n का अंतिम बिट 0 होगा।

  • यदि n एक विषम संख्या है, तो परिणाम की गणना को अंतिम बिटऑफ़ (n-1)/2 को 1 से बदलने के रूप में माना जा सकता है, इसलिए हमें समीकरण संख्याऑफबिट्स (एन) ===संख्याऑफबिट्स (मैथ फ्लोर (एन/2)) मिलता है। + 1 ।

आउटपुट

और कंसोल में आउटपुट होगा -

[ 0, 1, 1, 2, 1 ]

  1. जावास्क्रिप्ट में बाइनरी ट्री

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

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

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

  1. जावास्क्रिप्ट में किसी सरणी के माध्यिका की गणना करना

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