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

दशमलव को भाज्य में कूटबद्ध करना और जावास्क्रिप्ट में वापस करना

<घंटा/>

समस्या

दशमलव संख्याओं को फ़ैक्टोरियल के साथ कोड करना एक आधार प्रणाली में संख्याओं को लिखने का एक तरीका है जो संख्याओं की शक्तियों के बजाय फ़ैक्टोरियल पर निर्भर करता है।

इस प्रणाली में, अंतिम अंक हमेशा 0 होता है और आधार 0 में होता है! इससे पहले का अंक या तो 0 या 1 है और आधार 1 में है! इससे पहले का अंक या तो 0, 1, या 2 है और आधार 2!, आदि में है। अधिक सामान्यतः, nवें से अंतिम अंक हमेशा 0, 1, 2, ..., n होता है और आधार n में होता है! ।

हमें दो कार्यों की आवश्यकता होगी। पहले वाले को एक दशमलव संख्या प्राप्त होगी और भाज्य प्रतिनिधित्व के साथ एक स्ट्रिंग लौटाएगा।

दूसरा एक भाज्य प्रतिनिधित्व के साथ एक स्ट्रिंग प्राप्त करेगा और दशमलव प्रतिनिधित्व का उत्पादन करेगा।

उदाहरण के लिए -

दशमलव संख्या 463 को "341010" के रूप में एन्कोड किया गया है, क्योंकि -

463 = 3×5! + 4×4! + 1×3! + 0×2! + 1×1! + 0×0!

उदाहरण

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

const num = 463;
const decimalToFact = (num = 1) => {
   const legend = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');
   let str = '0';
   let i = 2;
   while(num){
      str = legend[num%i] + str;
      num = Math.floor(num / i);
      i++;
   };
   return str;
};
const factToDecimal = (str = '') => {
   const legend = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');
   const l = str.length;
   return str
   .split('')
   .reduce((a,e,i) => Number(a) * (l - i) + legend.indexOf(e), 0);
};
const fact = decimalToFact(num);
const dec = factToDecimal(fact);
console.log(fact);
console.log(dec);

आउटपुट

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

341010
463

  1. जावास्क्रिप्ट कॉन्स्ट

    जावास्क्रिप्ट कॉन्स्ट घोषणाएं वेरिएबल बनाती हैं जिन्हें किसी अन्य मान पर पुन:असाइन नहीं किया जा सकता है या बाद में पुन:घोषित नहीं किया जा सकता है। इसे ES2015 में पेश किया गया था। जावास्क्रिप्ट कॉन्स्टेबल डिक्लेरेशन के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html> <head> &l

  1. जावास्क्रिप्ट में कॉन्स्ट बनाम लेट।

    Const and let को ES2015 में ब्लॉक स्कोप्ड वेरिएबल घोषित करने के लिए पेश किया गया था। जबकि लेट का उपयोग करके घोषित चर को पुन:असाइन किया जा सकता है, यदि उन्हें कॉन्स का उपयोग करके घोषित किया गया है तो उन्हें पुन:असाइन नहीं किया जा सकता है। जावास्क्रिप्ट में लेट और कॉन्स्ट दिखाने वाला कोड निम्नलिखित ह

  1. जावास्क्रिप्ट में सरणियों का विलय और सुधार

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो पहले और दूसरे तर्क के रूप में संख्याओं के दो सरणियों, arr1 andarr2, को लेता है। हमारे फ़ंक्शन को इन दोनों सरणियों के तत्वों को एक नए सरणी में मर्ज करना चाहिए और यदि विलय होने पर या विलय से पहले कोई डुप्लिकेट मौजूद है, तो हमें अतिरिक्त डु