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

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

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

इसलिए, यदि इनपुट संख्या =455 की तरह है, तो आउटपुट सही होगा, क्योंकि इस संख्या का द्विआधारी प्रतिनिधित्व 111000111 है।

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

  • bin_form :=संख्या का द्विआधारी रूप
  • one_count :=एक नया सेट
  • गिनती :=1
  • मैं के लिए 0 से लेकर bin_form-1 की बिट काउंट तक के लिए
    • यदि bin_form[i] bin_form[i + 1] के समान है, तो
      • गिनती :=गिनती + 1
    • अन्यथा,
      • गिनती को one_count में सम्मिलित करें
      • गिनती :=1
  • यदि one_count का आकार 1 के समान है, तो
    • सही लौटें
  • झूठी वापसी

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

उदाहरण कोड

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 की लंबाई पाएं। उदाहरण Input: n = 15 Output: 4 The binary representation of 14 is 1111. एल्गोरिदम Step 1: input the number. Step 2: use one counter variable c=0. Step 3: Count the number of iterations to reach i = 0. St

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

    दो नंबर दिए। हमारा काम यह जांचना है कि क्या वे बाइनरी प्रतिनिधित्व में एक दूसरे के आरेख हैं या नहीं। हम काउंटर (पुनरावृत्त) विधि और शब्दकोश तुलना का उपयोग करके इस समस्या को जल्दी से अजगर में हल कर सकते हैं। उदाहरण Input: a = 8, b = 16 Output : Yes Binary representations of both numbers have same 0

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

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