मान लीजिए कि हमारे पास दो संख्याएँ x और y हैं। हमें यह जांचना है कि इन दो संख्याओं में से एक संख्या 1 की दूसरी का पूरक है या नहीं। हम सभी जानते हैं कि बाइनरी नंबर का 1 का पूरक सभी बिट्स को 0 से 1 या 1 से 0 तक फ़्लिप कर रहा है।
इसलिए, यदि इनपुट x =9, y =6 जैसा है, तो आउटपुट सही होगा क्योंकि बाइनरी प्रतिनिधित्व x =1001 और y =0110 हैं जो एक दूसरे के पूरक हैं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- z =x XOR y
- जब z में सभी बिट सेट हो जाएं, तो सही लौटें, अन्यथा असत्य
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def all_one(n): if n == 0: return False; if ((n + 1) & n) == 0: return True return False def solve(x, y): return all_one(x ^ y) x = 9 y = 6 print(solve(x, y))
इनपुट
9, 6
आउटपुट
True