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

जांचें कि क्या संख्या में केवल पहले और अंतिम बिट्स पायथन में सेट हैं

मान लीजिए कि हमारे पास एक संख्या n है। हमें यह जांचना होगा कि संख्या में केवल दो सेट बिट्स हैं जो पहली और आखिरी स्थिति में हैं या नहीं।

इसलिए, यदि इनपुट n =17 की तरह है, तो आउटपुट सही होगा क्योंकि n का बाइनरी प्रतिनिधित्व 10001 है, पहली और अंतिम स्थिति में केवल दो 1 हैं।

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

  • यदि n 1 के समान है, तो
    • सही लौटें
  • सही लौटें अगर n-1, 2 की शक्ति है, अन्यथा गलत है

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

उदाहरण कोड

def is_pow_of_two(n):
   return (n & n-1) == 0

def solve(n):
   if n == 1:
      return True
   return is_pow_of_two (n-1)
      
n = 17
print(solve(n))

इनपुट

17

आउटपुट

True

  1. जांचें कि क्या किसी संख्या के बिट्स में पायथन में बढ़ते क्रम में लगातार सेट बिट्स की गिनती है

    मान लीजिए कि हमारे पास एक सकारात्मक संख्या n है, हमें यह जांचना है कि दी गई संख्या n के बिट पैटर्न में निरंतर 1s की संख्या बाएं से दाएं बढ़ रही है या नहीं। इसलिए, यदि इनपुट n =1775 जैसा है, तो आउटपुट सही होगा, क्योंकि n का बाइनरी प्रतिनिधित्व 11011101111 है, इसलिए निरंतर 1s की संख्या [2, 3, 4] है ज

  1. जांचें कि क्या किसी संख्या के सभी बिट पायथन में सेट हैं

    मान लीजिए कि हमारे पास एक संख्या n है। हमें यह जांचना है कि दी गई संख्या n के लिए सभी बिट (1) सेट हैं या नहीं। इसलिए, यदि इनपुट n =255 जैसा है, तो आउटपुट सही होगा क्योंकि 255 का बाइनरी प्रतिनिधित्व 11111111 है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - यदि संख्या 0 के समान है, तो झूठी वापस

  1. कैसे जांचें कि एक स्ट्रिंग में पाइथन में कम से कम एक अक्षर और एक नंबर है या नहीं?

    पायथन में इसे जांचने का सबसे आसान तरीका रेगुलर एक्सप्रेशन का उपयोग करना है। यह जांचने के लिए कि दी गई स्ट्रिंग में कम से कम एक अक्षर और एक संख्या है या नहीं, हम re.match(regex, string) का उपयोग करते हैं। उदाहरण import re print(bool(re.match('^(?=.*[0-9]$)(?=.*[a-zA-Z])', 'hasAlphanum123