Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

जांचें कि क्या दो संख्याओं के द्विआधारी प्रतिनिधित्व पायथन में विपर्यय हैं

मान लीजिए कि हमारे पास दो नंबर 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

  1. जांचें कि क्या दो बाइनरी ट्री का लीफ ट्रैवर्सल पायथन में समान है

    मान लीजिए कि हमारे पास दो बाइनरी ट्री हैं। हमें यह जांचना होगा कि इन दोनों वृक्षों का पत्ता ट्रैवर्सल समान है या नहीं। जैसा कि हम जानते हैं कि लीफ ट्रैवर्सल बायीं ओर से दायें ट्रैवर्स किए गए पत्तों का क्रम है। तो, अगर इनपुट पसंद है तब आउटपुट सही होगा क्योंकि दोनों पेड़ों का बायां ट्रैवर्सल क्रम

  1. जांचें कि क्या दो पेड़ों के सभी स्तर विपर्ययण हैं या नहीं, पायथन में

    मान लीजिए, हमें दो बाइनरी ट्री दिए गए हैं। हमें यह जांचना है कि बाइनरी ट्री का प्रत्येक स्तर दूसरे बाइनरी ट्री के समान स्तर का विपर्ययण है या नहीं। यदि यह विपर्यय है तो हम सही लौटते हैं, अन्यथा हम गलत लौटते हैं। तो, अगर इनपुट पसंद है , तो आउटपुट ट्रू होगा। इसे हल करने के लिए, हम इन चरणों का पाल

  1. यह जांचने के लिए पायथन प्रोग्राम है कि बाइनरी नंबर में K लगातार 1 है या नहीं?

    पहले हम 1 और 0 के संयोजन के साथ एक उपयोगकर्ता इनपुट स्ट्रिंग लेते हैं। फिर 1 के साथ एक नई स्ट्रिंग बनाते हैं, फिर जांचते हैं कि लगातार 1 की कोई पी संख्या मौजूद है या नहीं। यदि मौजूद है तो FOUND को प्रदर्शित करें अन्यथा NOTFOUND। उदाहरण Binary number ::1111001111 Enter consecutive 1’s :3 Consecutive