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

जावास्क्रिप्ट में संख्याओं को वर्णों में बदलें

<घंटा/>

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

असल में, हमें दो फंक्शन लिखने होते हैं।

  • सांकेतिक शब्दों में बदलना (),

  • डिकोड ()

पहला फंक्शन हमारे नंबर इनपुट को बेस 26 अल्फाबेट मैपिंग में बदलना चाहिए। और दूसरा फ़ंक्शन वर्णमाला मानचित्रण को वापस मूल संख्या में परिवर्तित करना चाहिए।

हालांकि यह बहुत व्यावहारिक नहीं है क्योंकि अधिकांश हैशिंग एल्गोरिदम आने-जाने के लिए रूपांतरण प्रदान नहीं करते हैं, लेकिन इस प्रश्न के उद्देश्य से, हम इस पर विचार नहीं कर रहे हैं।

उदाहरण के लिए - यदि संख्या 31 है, तो,

encode(31) = 'ea'
and, decode('ea') = 31

उदाहरण

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

const num = 31;
const encode = num => {
   let res = '';
   const legend = 'zabcdefghijklmnopqrstuvwxy';
   while(num){
      const rem = num % (legend.length);
      res += legend[rem];
      num = (Math.floor(num / legend.length));
   };
   return res;
};
const decode = str => {
   let num = 0;
   const legend = 'zabcdefghijklmnopqrstuvwxy';
   for(let i = 0; i < str.length; i++){
      const ind = legend.indexOf(str[i]);
      num += (ind * Math.pow(legend.length, i));
   };
   return num;
}
console.log(encode(num));
console.log(decode('ea'));

आउटपुट

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

ea
31

  1. जावास्क्रिप्ट में साफ संख्या

    एक सुव्यवस्थित संख्या वह संख्या होती है जिसके अंक घटते क्रम में नहीं होते हैं। उदाहरण के लिए - 489 एक साफ संख्या है234557 भी एक साफ संख्या है34535 एक साफ संख्या नहीं है हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक संख्या लेता है और जांचता है कि यह एक सुव्यवस्थित संख्या है या नहीं। उदाहरण निम्नलिख

  1. जावास्क्रिप्ट में किसी संख्या का सबसे बड़ा अंक

    हमें एक जावास्क्रिप्ट रिकर्सिव फ़ंक्शन लिखना है जो एक संख्या लेता है और संख्या में सबसे बड़ा अंक देता है। उदाहरण के लिए:यदि संख्या 45654356 है फिर वापसी मूल्य 6 . होना चाहिए उदाहरण इसके लिए कोड होगा - const num = 45654356; const greatestDigit = (num = 0, greatest = 0) => {    if(num)

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

    हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो एक सकारात्मक पूर्णांक को एकमात्र तर्क के रूप में लेता है। फ़ंक्शन को उन सभी संख्याओं की एक सरणी का निर्माण और वापसी करनी चाहिए जो इनपुट संख्या को बिल्कुल विभाजित करती हैं। उदाहरण के लिए - अगर इनपुट नंबर है - const num = 12; तब आउटपुट होना चाह