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

पायथन में दी गई रेंज में संख्याओं का बिटवाइज AND खोजने का प्रोग्राम

मान लीजिए हमारे पास दो मान start और end हैं, हमें रेंज [start, end] (दोनों समावेशी) में सभी संख्याओं का बिटवाइज AND ढूंढना है।

इसलिए, यदि इनपुट है start = 8, end = 12, तो आउटपुट होगा 8 क्योंकि 8 बाइनरी में 1000 है और 12 1100 है, इसलिए 1000 AND 1001 AND 1010 AND 1011 AND 1100 है 1000 जो 8 है।

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

  • n := end - start + 1
  • x := 0
  • b के लिए 31 से 0 तक, 1 से घटाते हुए, करें:
    • यदि 2^b < n, तो:
      • लूप से बाहर निकलें
    • यदि 2^b AND start AND end शून्येतर है, तो:
      • x := x + (2^b)
  • x लौटाएं

उदाहरण

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

def solve(start, end):
    n = end - start + 1
    x = 0
    for b in range(31, -1, -1):
        if (1 << b) < n:
            break
        if (1 << b) & start & end:
            x += 1 << b
    return x
start = 8
end = 12
print(solve(start, end))

इनपुट

8, 12

आउटपुट

8
  1. - पायथन में दी गई रेंज के साथ संख्याओं की सूची बनाएं

    पायथन अपने पुस्तकालयों और विधियों की विस्तृत विविधता के माध्यम से डेटा मैनिपुलेशन में किसी भी आवश्यकता को संभाल सकता है। जब हमें दी गई संख्याओं की एक जोड़ी के बीच सभी संख्याओं को उत्पन्न करने की आवश्यकता होती है, तो हम पायथन के बिल्ट-इन फंक्शन के साथ-साथ कुछ पुस्तकालयों का उपयोग कर सकते हैं। इस लेख

  1. - Python प्रोग्राम: दी गई संख्या के लिए 3 और 5 से विभाज्य सभी संख्याएं प्रिंट करना

    यह एक Python प्रोग्राम है जो दिए गए पूर्णांक N से 3 और 5 दोनों से विभाज्य सभी संख्याओं को प्रिंट करता है। इस प्रोग्राम को लिखने के कई तरीके हैं सिवाय इसके कि हमें जांचना होगा कि संख्या 3 और 5 दोनों से पूरी तरह विभाज्य है या नहीं। 3 और 5 से विभाज्य सभी संख्याओं को प्रिंट करने के लिए Python प्रोग्रा

  1. - दिए गए रेंज में रैंडम नंबर उत्पन्न करके सूची में संग्रहीत करने का पायथन प्रोग्राम

    समस्या विवरण यहां 3 यूजर इनपुट वेरिएबल का उपयोग किया जाता है, एक प्रारंभिक संख्या के लिए, दूसरा अंतिम संख्या के लिए और अंतिम वह कितनी रैंडम संख्या प्रदर्शित करना चाहता है। पायथन रैंडम नंबर उत्पन्न करने के लिए एक रैंडम मॉड्यूल प्रदान करता है। यहां हम रैंडम फंक्शन के साथ randint फंक्शन का उपयोग करते ह