কম্পিউটার

C++ এ প্রদত্ত সংখ্যার বাইনারি উপস্থাপনায় অগ্রণী শূন্যের সংখ্যা


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

ইনপুট

5

আউটপুট

25

5 এর বাইনারি উপস্থাপনা হল 00000...00101। অগ্রণী শূন্যের সংখ্যা হল 29৷

অ্যালগরিদম

  • সংখ্যা n শুরু করুন।
  • n-এর বাইনারি উপস্থাপনা খুঁজুন।
  • বিটের মোট সংখ্যা থেকে n-এর বাইনারি উপস্থাপনার দৈর্ঘ্য বিয়োগ করুন, অর্থাৎ, 32।
  • ফলাফল ফেরত দিন।

বাস্তবায়ন

C++

-এ উপরের অ্যালগরিদমের বাস্তবায়ন নিচে দেওয়া হল
#include <bits/stdc++.h>
using namespace std;
int getLeadingZeroesCount(unsigned int n) {
   int totalBits = sizeof(n) * 8;
   string binary = "";
   while (n) {
      int remainder = n % 2;
      if (remainder || binary.length() > 0) {
         binary += remainder;
      }
      n /= 2;
   }
   return totalBits - binary.length();
}
int main() {
   int n = 101;
   cout << getLeadingZeroesCount(n) << endl;
   return 0;
}

আউটপুট

আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

25

  1. একটি প্রদত্ত বাইনারি ট্রি C++ এ SumTree কিনা তা পরীক্ষা করুন

  2. একটি সংখ্যা প্রদত্ত বেসে আছে নাকি C++ তে নেই তা পরীক্ষা করুন

  3. একটি প্রদত্ত সংখ্যা C++ তে স্পার্স বা না তা পরীক্ষা করুন

  4. অক্টাল নম্বরকে বাইনারি নম্বরে রূপান্তর করতে C++ প্রোগ্রাম