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

पायथन में जांचें कि किसी संख्या के बाइनरी प्रतिनिधित्व में 0 और 1 के ब्लॉक बराबर हैं या नहीं


मान लीजिए हमारे पास एक संख्या num है, हमें जांचना है कि num के बाइनरी प्रतिनिधित्व में लगातार 0 और 1 के ब्लॉक की संख्या समान है या नहीं। ध्यान रखें कि 0 और सभी 1 वाली संख्या को 0 और 1 के ब्लॉक वाली संख्या नहीं माना जाता।

उदाहरण के लिए, यदि num = 455 है, तो आउटपुट True होगा, क्योंकि इसका बाइनरी प्रतिनिधित्व 111000111 है (तीन 1, तीन 0, तीन 1)।

हल करने का तरीका

  1. bin_form := num का बाइनरी रूप
  2. one_count := एक नया सेट
  3. count := 1
  4. बाइनरी स्ट्रिंग को पार करें:
    • यदि वर्तमान बिट अगले बिट के बराबर है, तो count बढ़ाएं
    • अन्यथा count को one_count में जोड़ें, count := 1
  5. यदि one_count का आकार 1 है, तो True लौटाएं
  6. अन्यथा False लौटाएं

उदाहरण कोड

def solve(num):
    bin_form = bin(num).replace("0b", "")
    one_count = set()
    count = 1
    for i in range(len(bin_form) - 1):
        if bin_form[i] == bin_form[i + 1]:
            count += 1
        else:
            one_count.add(count)
            count = 1
    if len(one_count) == 1:
        return True
    return False

num = 455
print(solve(num))

इनपुट

455

आउटपुट

True
  1. - दी गई संख्या के बाइनरी प्रतिनिधित्व में सबसे लंबे लगातार 1 की लंबाई खोजने का पायथन प्रोग्राम

    समस्या विवरण दी गई संख्या के बाइनरी प्रतिनिधित्व में सबसे लंबे लगातार 1 की लंबाई खोजें। उदाहरण इनपुट: n = 15 आउटपुट: 4 15 का बाइनरी प्रतिनिधित्व 1111 है। एल्गोरिदम संख्या इनपुट करें। एक काउंटर वेरिएबल c=0 का उपयोग करें। i=0 तक पहुंचने के लिए इटरेशन की संख्या गिनें। यह ऑपरेशन 1 के प्रत्येक अनुक्र

  1. - दो संख्याओं के बाइनरी प्रतिनिधित्व एनाग्राम हैं या नहीं जांचने का पायथन प्रोग्राम

    समस्या विवरण दो संख्याएं दी गई हैं। हमारा कार्य यह जांचना है कि क्या वे बाइनरी प्रतिनिधित्व में एक-दूसरे के एनाग्राम हैं या नहीं। हम इस समस्या को पायथन में Counter(iterable) विधि और डिक्शनरी तुलना का उपयोग करके जल्दी हल कर सकते हैं। उदाहरण इनपुट: a = 8, b = 16 आउटपुट: हां दोनों संख्याओं के बाइनरी प

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

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