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

जांचें कि क्या बिटवाइज़ और किसी सबसेट का पायथन में दो की शक्ति है

मान लीजिए कि हमारे पास संख्याओं की एक सरणी है जिसे अंक कहा जाता है। हमें यह जांचना होगा कि क्या अंकों का कोई उपसमुच्चय मौजूद है जिसका बिटवाइज़ AND दो की घात है या नहीं।

इसलिए, यदि इनपुट संख्या =[22, 25, 9] की तरह है, तो आउटपुट सत्य होगा, उपसमुच्चय {22, 9} के रूप में द्विआधारी रूप {101010, 1001} है और इन दोनों में से 10000 =16 है जो 2 की शक्ति है।

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

  • MAX :=32 यह देखते हुए कि अधिकतम 32 बिट संख्याएं हैं
  • एक फ़ंक्शन को हल करें() परिभाषित करें। इसमें अंक लगेंगे
  • यदि अंकों का आकार 1 है, तो
    • सही लौटें जब अंक [0] 2 की शक्ति हो, अन्यथा गलत हो
  • कुल :=0
  • मैं के लिए 0 से MAX -1 की सीमा में, करो
    • कुल :=कुल या 2^i
  • मैं के लिए 0 से MAX -1 की सीमा में, करो
    • रिट:=कुल
    • जे के लिए 0 से लेकर अंकों के आकार तक, करें
      • अगर nums[j] AND (2^i) शून्य नहीं है, तो
        • ret:=ret और nums[j]
    • यदि रिट 2 की शक्ति है, तो
      • सही लौटें
  • झूठी वापसी

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

उदाहरण

MAX = 32
def is_2s_pow(v):
   return v and (v & (v - 1)) == 0
def solve(nums):
   if len(nums) == 1:
      return is_2s_pow(nums[0])
      total = 0
   for i in range(0, MAX):
      total = total | (1 << i)
   for i in range(0, MAX):
      ret = total
      for j in range(0, len(nums)):
         if nums[j] & (1 << i):
            ret = ret & nums[j]
      if is_2s_pow(ret):
         return True
   return False
nums = [22, 25, 9]
print(solve(nums))

इनपुट

[22, 25, 9]

आउटपुट

True

  1. पायथन में दो त्रिभुजों की सर्वांगसमता जाँचने का कार्यक्रम

    इस ट्यूटोरियल में, हम दो त्रिभुजों की सर्वांगसमता की जाँच करने जा रहे हैं। हम एसएसएस, एसएएस और एएए की जांच करने जा रहे हैं। उन मानदंडों के आधार पर त्रिभुजों की समानता सिद्ध होती है। हमें प्रमेय के आधार पर विभिन्न स्थितियों की जांच करनी होगी। उन्हें नीचे दिए गए कोड में देखें। उदाहरण def side_side_si

  1. पायथन प्रोग्राम यह पता लगाने के लिए कि क्या कोई दो की शक्ति नहीं है

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक नंबर दिया गया है, हमें यह जांचना होगा कि संख्या दो की शक्ति है या नहीं। जैसा कि नीचे चर्चा की गई है, हम दो दृष्टिकोणों का उपयोग करके इसे हल कर सकते हैं। दृष्टिकोण 1:शक्ति प्राप्त करने के लिए आधार 2 पर दिए गए

  1. पायथन - जांचें कि क्या दो सूचियों में कोई तत्व समान है

    पायथन सूचियों का उपयोग करके डेटा में हेरफेर करने के दौरान, हम एक ऐसी स्थिति में आते हैं, जहां हमें यह जानने की आवश्यकता होती है कि क्या दो सूचियां एक-दूसरे से पूरी तरह से अलग हैं या उनमें कोई तत्व समान है। यह दो सूचियों में वर्णित तत्वों की तुलना नीचे वर्णित दृष्टिकोणों के साथ करके किया जा सकता है।