आइए मान लें कि हमारे पास एक पूर्णांक 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