এখানে আমরা দেখব, একটি সংখ্যার বাইনারি উপস্থাপনায় সংলগ্ন সেট বিট আছে কিনা। ধরুন 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