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

पायथन में सीढ़ियों का उपयोग करके हम अगली मंजिल तक कितने तरीकों तक पहुँच सकते हैं, यह जानने के लिए कार्यक्रम

मान लीजिए कि एन चरणों के साथ एक सीढ़ी का मामला है। कोई या तो कदम दर कदम आगे बढ़ सकता है, या हर कदम पर, कोई ज्यादा से ज्यादा N कदमों की छलांग लगा सकता है। हमें उन तरीकों की संख्या ज्ञात करनी है जिनसे हम शीर्ष मंजिल तक जा सकते हैं। N मान बड़ा हो सकता है हम केवल तरीकों की संख्या के पहले और अंतिम K अंकों में रुचि रखते हैं।

इसलिए, यदि इनपुट एन =10 के =2 की तरह है, तो आउटपुट 63 होगा क्योंकि 10 चरण हैं, यदि एस संख्या में हम शीर्ष पर जा सकते हैं, तो एस को फॉर्म के रूप में मानें wxyz .तो, wx + yz का योग 63 है।

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

  • एन:=एन -1
  • c :=2 * (k + log(N);base10) की छत
  • ई:=एन, बी:=2, एस:=1
  • जबकि ई> 0, करें
    • यदि ई विषम है, तो
      • s :=(s*b) की पहली p-c अंक संख्या जहां p, s*b में अंकों की संख्या है
    • e :=e/2 का तल
    • b :=(b*b) की पहली p-c अंक संख्या जहां p, b*b में अंकों की संख्या है
  • s :=s का पहला p - k अंक संख्या, जहां p, s में अंकों की संख्या है
  • r :=s + (2^N) mod 10^k
  • रिटर्न आर

उदाहरण

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

from math import log10,ceil

def solve(N,k):
   N -= 1
   c = 2*ceil(k + log10(N))
   e = N
   b = 2
   s = 1
   while e > 0:
      if e % 2 == 1:
         s = int(str(s*b)[:c])
      e //=2
      b = int(str(b*b)[:c])
   s = str(s)[:k]
   r = int(s) + pow(2, N, 10**k)
   return r

N = 10
k = 2
print(solve(N,k))

इनपुट

10, 2

आउटपुट

63

  1. पायथन का उपयोग करके सभी नोड्स तक पहुंचने के लिए न्यूनतम संख्या में कोने खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक निर्देशित चक्रीय ग्राफ है, जिसमें n कोने हैं और नोड्स 0 से n-1 तक गिने जाते हैं, ग्राफ को किनारे की सूची द्वारा दर्शाया जाता है, जहां किनारों [i] =(यू, वी) नोड यू से एक निर्देशित किनारे का प्रतिनिधित्व करता है। नोड वी। हमें शिखर का सबसे छोटा सेट ढूंढना है जिससे ग्राफ में सभ

  1. पायथन का उपयोग करके समान लेबल वाले उप-वृक्ष में नोड्स की संख्या खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास n नोड्स वाला एक रूटेड सामान्य ट्री है, जिसके नोड्स 0 से n-1 तक गिने जाते हैं। प्रत्येक नोड में लोअरकेस अंग्रेजी अक्षर वाला एक लेबल होता है। लेबल्स को लेबल एरे में इनपुट के रूप में दिया जाता है, जहां लेबल्स [i] में ith नोड के लिए लेबल होता है। पेड़ को किनारे की सूची द्वारा दर्श

  1. सूची में सबसे छोटी संख्या खोजने के लिए पायथन प्रोग्राम

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