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-लंबाई वाले अद्वितीय पथों की संख्या ज्ञात करनी होगी। रास्ते माता-पिता से बच्चे तक या बच्चे से माता-पिता तक जा सकते हैं। हम दो रास्तों पर विचार करेंगे जब एक पथ में कुछ नोड दिखाई देते हैं

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

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