কম্পিউটার

জাভাস্ক্রিপ্টে বাইনারিতে 1 বিটের সংখ্যা অনুসারে পূর্ণসংখ্যা বাছাই করা


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা শুধুমাত্র আর্গুমেন্ট হিসাবে পূর্ণসংখ্যার অ্যারে নেয়৷

ফাংশনটি অ্যারেতে উপস্থিত পূর্ণসংখ্যাগুলিকে তাদের বাইনারি উপস্থাপনায় উপস্থিত 1s এর উপর ভিত্তি করে ক্রমবর্ধমান ক্রমে সাজাতে হবে। যদি দুই বা ততোধিক সংখ্যার বাইনারিতে একই সংখ্যা 1s থাকে, তাহলে তাদের মাত্রা অনুযায়ী ক্রমবর্ধমান ক্রমে সাজানো উচিত।

যেমন −

যদি ইনপুট অ্যারে −

হয়
const arr = [34, 37, 23, 89, 12, 31, 23, 89];

তারপর আউটপুট অ্যারে হবে −

const output = [34, 12, 37, 23, 89, 23, 89, 31];

উদাহরণ

নিম্নলিখিত কোড -

const arr = [34, 37, 23, 89, 12, 31, 23, 89];
const sortByBinary = (arr = []) => {
   const calculateOne = (str = '') => {
      let res = 0;
      for(let i = 0; i < str.length; i++){
         if(str[i] === '1'){
            res++;
         };
      };
      return res;
   }
   const sorter = (a, b) => {
      const firstCount = calculateOne((a >>> 0).toString(2));
      const secondCount = calculateOne((b >>> 0).toString(2));
      return firstCount - secondCount;
   };
   arr.sort(sorter);
};
sortByBinary(arr);
console.log(arr);

আউটপুট

নিম্নোক্ত কনসোল আউটপুট -

[
   34, 12, 37, 23,
   89, 23, 89, 31
]

  1. JavaScript ব্যবহার করে ইনপুট নম্বরের মধ্যে সবচেয়ে বড় 5 সংখ্যার সংখ্যা খুঁজে বের করা

  2. JavaScript ব্যবহার করে প্রতিটি শব্দে উপস্থিত সংখ্যার উপর ভিত্তি করে শব্দের স্ট্রিং বাছাই করা

  3. জাভাস্ক্রিপ্ট ব্যবহার করে বাইনারি স্ট্রিং বাইনারি স্ট্রিং বাছাই করা হচ্ছে যার দশমিক মান রয়েছে

  4. C++ এ একটি বড় বাইনারি সংখ্যায় 1 বিটের সংখ্যা খুঁজুন