কম্পিউটার

একটি সংখ্যার বিকল্প প্যাটার্নে বিট আছে কিনা তা পরীক্ষা করুন - C++ এ 1 সেট করুন


আমাদের একটি পূর্ণসংখ্যা n আছে বিবেচনা করা যাক. সমস্যা হল পরীক্ষা করা, এই পূর্ণসংখ্যার বাইনারি সমতুল্যে বিকল্প প্যাটার্ন আছে কি না। বিকল্প প্যাটার্ন মানে 101010….

পদ্ধতিটি হল:বাইনারি সমতুল্য ব্যবহার করে প্রতিটি অঙ্ক পরীক্ষা করুন এবং যদি পরপর দুটি একই হয় তবে মিথ্যা ফেরত দিন, অন্যথায় সত্য।

উদাহরণ

#include <iostream>
using namespace std;
bool hasAlternatePattern(unsigned int n) {
   int previous = n % 2;
   n = n/2;
   while (n > 0) {
      int current = n % 2;
      if (current == previous) // If current bit is same as previous
      return false;
      previous = current;
      n = n / 2;
   }
   return true;
}
int main() {
   unsigned int number = 42;
   if(hasAlternatePattern(number))
      cout << "Has alternating pattern";
   else
      cout << "Has no alternating pattern";
}

আউটপুট

Has alternating pattern

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

  2. C++ এ সেট বিটের গণনা অনুসারে একটি অ্যারে সাজান

  3. C++ এ k সেট বিট সহ একটি সংখ্যাকে সর্বাধিক করার জন্য ন্যূনতম ফ্লিপস প্রয়োজন।

  4. পাইথনে ক্রমবর্ধমান ক্রম অনুসারে একটি সংখ্যার বিট পরপর সেট বিট গণনা আছে কিনা তা পরীক্ষা করুন