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

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


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

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

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

  • यदि n 1 के समान है, तो
    • True लौटाएं
  • यदि n - 1, 2 की घात है तो true लौटाएं, अन्यथा false

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

उदाहरण कोड

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 है, तो आउटपुट True होगा क्योंकि 1775 का बाइनरी प्रतिनिधित्व 11011101111 है, इसलिए लगातार 1s की संख्या [2, 3, 4] है ज

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

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

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

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