मान लीजिए कि हमारे पास दो संख्याएँ x और y हैं। हमें यह जांचना होगा कि ये दोनों संख्याएं एक-बिट स्थिति में भिन्न हैं या नहीं।
इसलिए, यदि इनपुट x =25 y =17 जैसा है, तो आउटपुट सही होगा क्योंकि बाइनरी में x =11001 और y =10001। केवल एक-बिट स्थिति अलग है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- z =x XOR y
- यदि z में सेट बिट्स की संख्या 1 है, तो
- सही लौटें
- झूठी वापसी
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण कोड
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