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

जाँच करें कि दो संख्याओं के L से R तक के बिट्स एक दूसरे के पूरक हैं या नहीं, पायथन में

मान लीजिए कि हमारे पास दो संख्याएँ x और y हैं और एक दी गई श्रेणी (बाएँ, दाएँ) है। हमें यह जांचना है कि दी गई दोनों संख्याओं में बाएँ से दाएँ श्रेणी के सभी बिट एक-दूसरे के पूरक हैं या नहीं। हमें यह ध्यान रखना होगा कि दाएं से बाएं, इसलिए कम से कम महत्वपूर्ण बिट को पहले स्थान पर माना जाता है।

इसलिए, यदि इनपुट x =41 y =54 बाएँ =2 दाएँ =5 जैसा है, तो आउटपुट सही होगा, क्योंकि 41 और 54 के द्विआधारी प्रतिनिधित्व 101001 और 110110 हैं। x और y की सीमा 2 से 5 तक के बिट्स "1001" और "0110" हैं जो एक दूसरे के पूरक हैं।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • अस्थायी:=x XOR y
  • जब टेम्परेचर की रेंज (बाएं, दाएं) के सभी बिट्स 1 हों तो सही लौटें, अन्यथा गलत

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

उदाहरण

def are_all_setbits_in_range(n, left, right):
   val = ((1 << right) - 1) ^ ((1 << (left - 1)) - 1)
   new_value = n & val
   if val == new_value:
      return True
   return False
def solve(x, y, left, right):
   temp = x ^ y
   return are_all_setbits_in_range(temp, left, right)
x = 41
y = 54
left = 2
right = 5
print(solve(x, y, left, right))

इनपुट

41, 54, 2, 5

आउटपुट

True

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

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

  1. पायथन में पत्तियों का क्रम दो पत्तियों के समान है या नहीं, यह जांचने के लिए कार्यक्रम

    मान लीजिए हमारे पास दो बाइनरी ट्री हैं; हमें यह जांचना होगा कि दोनों पेड़ों में बाएं से दाएं पत्तों का क्रम समान है या नहीं। तो, अगर इनपुट पसंद है तब आउटपुट सही होगा क्योंकि दोनों पेड़ों के लिए अनुक्रम [2, 6] है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे: c :=एक नई सूची एक फ़ंक्शन को परिभ

  1. पायथन में एक पेड़ दूसरे का उपवृक्ष है या नहीं यह जांचने का कार्यक्रम

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