আমাদের একটি পূর্ণসংখ্যা 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