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

पायथन में लगातार बाइनरी नंबरों के संयोजन को खोजने का कार्यक्रम

मान लीजिए कि हमारे पास एक संख्या n है, हमें बाइनरी स्ट्रिंग के दशमलव मान को 1 से n के बाइनरी अभ्यावेदन को एक-एक करके क्रम में खोजना होगा, यदि उत्तर बहुत बड़ा है तो रिटर्न उत्तर मॉड्यूल 10^9 + 7.

इसलिए, यदि इनपुट n =4 की तरह है, तो आउटपुट 220 होगा, क्योंकि 1 से 4 तक बाइनरी प्रतिनिधित्व को जोड़कर "1" + "10" + "11" + "100" =110111000 होगा, यह बाइनरी है 220 का प्रतिनिधित्व।

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

  • उत्तर:=1
  • म :=10^9+7
  • 2 से n की श्रेणी में i के लिए, करें
    • उत्तर :=पाली उत्तर (मैं की बिट लंबाई) बार की संख्या
    • उत्तर:=(उत्तर+i) मॉड एम
  • वापसी उत्तर

उदाहरण

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

def solve(n):
   ans = 1
   m = (10**9+7)
   for i in range(2,n+1):
      ans = ans<<i.bit_length()
      ans = (ans+i) % m
   return ans

n = 4
print(solve(n))

इनपुट

4

आउटपुट

220

  1. अजगर में एक बाइनरी ट्री के सबसे लंबे क्रमागत पथ की लंबाई ज्ञात करने का कार्यक्रम अजगर में एक बाइनरी ट्री के सबसे लंबे क्रमागत पथ की लंबाई ज्ञात करने का कार्यक्रम

    मान लीजिए हमारे पास एक बाइनरी ट्री है; हमें बाइनरी ट्री में सबसे लंबा रास्ता खोजना होगा। तो, अगर इनपुट पसंद है तो आउटपुट 5 होगा क्योंकि लगातार सबसे लंबा क्रम [2, 3, 4, 5, 6] है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - यदि रूट रिक्त है, तो वापसी 0 मैक्सपाथ:=0 एक फंक्शन हेल्पर () को प

  1. पायथन में एक बाइनरी ट्री पर k-लंबाई पथ खोजने का कार्यक्रम पायथन में एक बाइनरी ट्री पर k-लंबाई पथ खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है जिसमें अद्वितीय मान हैं और हमारे पास एक और मान k भी है, तो हमें ट्री में k-लंबाई वाले अद्वितीय पथों की संख्या ज्ञात करनी होगी। रास्ते माता-पिता से बच्चे तक या बच्चे से माता-पिता तक जा सकते हैं। हम दो रास्तों पर विचार करेंगे जब एक पथ में कुछ नोड दिखाई देते हैं

  1. लगातार 1 के बिना बाइनरी स्ट्रिंग्स की संख्या गिनने के लिए पायथन प्रोग्राम लगातार 1 के बिना बाइनरी स्ट्रिंग्स की संख्या गिनने के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक धनात्मक पूर्णांक N दिया गया है, हमें लंबाई N के साथ उपलब्ध सभी संभावित भिन्न बाइनरी स्ट्रिंग्स को गिनने की आवश्यकता है ताकि स्ट्रिंग में कोई क्रमागत 1 मौजूद न हो। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देख