मान लीजिए कि हमारे पास दो नंबर x और y हैं, तो हमें यह जांचना होगा कि x और y का द्विआधारी प्रतिनिधित्व एक दूसरे के विपर्ययण हैं या नहीं।
इसलिए, यदि इनपुट x =9 y =12 जैसा है, तो आउटपुट सही होगा क्योंकि 9 का बाइनरी प्रतिनिधित्व 1001 है और 12 का बाइनरी प्रतिनिधित्व 1100 है, इसलिए ये दोनों एक दूसरे के विपर्यय हैं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- यदि x और y में 1s की संख्या समान है, तो
- सही लौटें
- झूठी वापसी
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
def set_bit_count(num) : cnt = 0 while num: cnt += num & 1 num >>= 1 return cnt def solve(x, y) : if set_bit_count(x) == set_bit_count(y): return True return False x = 9 y = 12 print(solve(x, y))
इनपुट
9, 12
आउटपुट
True