কম্পিউটার

জাভাস্ক্রিপ্টে সংখ্যাকে অক্ষরে রূপান্তর করুন


ধরুন আমাদের একটি লগইন সিস্টেম আছে যেখানে ব্যবহারকারীদের অনন্যভাবে সনাক্ত করার জন্য একটি অনন্য ইউজারআইডি প্রদান করতে হবে। এবং সুস্পষ্ট নিরাপত্তার কারণে, আমরা userID কে অস্পষ্ট করতে চাই যাতে সংখ্যাটি অনুমান করা মোটামুটি কঠিন হয়৷

মূলত, আমাদের দুটি ফাংশন লিখতে হবে।

  • এনকোড(),

  • ডিকোড()

প্রথম ফাংশনটি আমাদের নম্বর ইনপুটটিকে একটি বেস 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. সংখ্যাকে দশ, শত, হাজার ইত্যাদিতে রূপান্তর করুন - জাভাস্ক্রিপ্ট

  2. জাভাস্ক্রিপ্টে পরিপাটি সংখ্যা

  3. জাভাস্ক্রিপ্টে একটি সংখ্যার সবচেয়ে বড় সংখ্যা

  4. জাভাস্ক্রিপ্টে একটি সংখ্যা ফ্যাক্টরাইজ করুন