मान लीजिए हमारे पास दो संख्याएं x और y हैं। हमें जांचना है कि ये दो संख्याएं एक-बिट पोजीशन पर भिन्न हैं या नहीं।
तो, यदि इनपुट x = 25 y = 17 जैसा है, तो आउटपुट True होगा क्योंकि x = 11001 बाइनरी में है और y = 10001। केवल एक-बिट पोजीशन अलग है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:
- z = x XOR y
- यदि z में सेट बिट्स की संख्या 1 है, तो
- True लौटाएं
- False लौटाएं
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
उदाहरण कोड
def bit_count(n): count = 0 while n: count += n & 1 n >>= 1 return count def solve(x, y): return bit_count(x ^ y) == 1 x = 25 y = 17 print(solve(x, y))
इनपुट
25,17
आउटपुट
True