কম্পিউটার

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


এখানে আমরা দেখব, একটি সংখ্যার বাইনারি উপস্থাপনায় সংলগ্ন সেট বিট আছে কিনা। ধরুন 12 নম্বরটিতে পরপর দুটি 1s (12 =1100) আছে।

এই ধরনের সংখ্যা পরীক্ষা করার জন্য, ধারণাটি খুব সহজ। আমরা 1 বিট নম্বরটি শিফট করব, তারপর বিটওয়াইজ করব। যদি বিটওয়াইজ এবং ফলাফল অ-শূন্য হয়, তাহলে অবশ্যই কিছু পরপর 1s হতে হবে।

উদাহরণ

#include <iostream>
using namespace std;
bool hasConsecutiveOnes(int n) {
   if((n & (n >> 1)) == 1){
   return true;
   }else{
      return false;
   }
}
int main() {
   int num = 67; //1000011
   if(hasConsecutiveOnes(num)){
      cout << "Has Consecutive 1s";
   }else{
      cout << "Has No Consecutive 1s";
   }
}

আউটপুট

Has Consecutive 1s

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

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

  3. C++ প্রোগ্রাম দুটি ম্যাট্রিক্সের গুণিতকতা পরীক্ষা করার জন্য

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