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

पायथन में भारतीय संप्रदायों का उपयोग करके n R.s प्राप्त करने के कई तरीकों को खोजने के लिए कार्यक्रम

मान लीजिए कि हमारे पास सीमित मूल्यवर्ग के सिक्के हैं (₹1, ₹2, ₹5 और ₹10)। हमें यह पता लगाना है कि आप उन्हें कितने तरीकों से कुल ₹n तक जोड़ सकते हैं? हमारे पास आकार 4 की एक सरणी संख्या है, जहां गिनती [0] ₹1 के सिक्कों को इंगित करती है, गिनती [1] ₹2 के सिक्कों को इंगित करती है और इसी तरह।

इसलिए, यदि इनपुट n =25 काउंट =[7,3,2,2] जैसा है, तो आउटपुट 9 होगा।

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

  • संप्रदाय :=[1,2,5,10]
  • A :=आकार की एक सरणी (n + 1) और 0 से भरें
  • B :=A से एक नई सूची
  • मैं के लिए 0 से (न्यूनतम गिनती [0] और n) की सीमा में, करते हैं
    • ए[i] :=1
  • 1 से 3 के बीच के लिए, करें
    • जे के लिए रेंज 0 से गिनने के लिए[i], करें
      • के लिए 0 से n + 1 - j *denom[i] की श्रेणी में, do
        • B[k + j * denom[i]] :=B[k + j * denom[i]] + A[k]
    • जे के लिए 0 से n की सीमा में, करें
      • ए[जे]:=बी[जे]
      • बी[जे] :=0
  • वापसी A[n]

उदाहरण

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

denom = [1,2,5,10]
def solve(n, count):
   A = [0] * (n + 1)
   B = list(A)
   for i in range(min(count[0], n) + 1):
      A[i] = 1
   for i in range(1, 4):
      for j in range(0, count[i] + 1):
         for k in range(n + 1 - j *denom[i]):
            B[k + j * denom[i]] += A[k]
      for j in range(0, n + 1):
         A[j] = B[j]
         B[j] = 0
   return A[n]

n = 25
count = [7,3,2,2]
print(solve(n, count))

इनपुट

25, [7,3,2,2]

आउटपुट

9

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

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

  1. पायथन में अजॉब सीक्वेंस से अनुक्रम का चयन करने के कई तरीकों को खोजने के लिए कार्यक्रम

    मान लीजिए कि एक अजीब भाषा है जिसे अजॉब भाषा कहा जाता है। इसमें अनंत संख्या में अक्षर हैं। हम इस भाषा में n शब्द जानते हैं। पहला शब्द एक वर्ण लंबा है, दूसरा दो वर्ण लंबा है और इसी तरह। और एक शब्द के सभी अक्षर अद्वितीय होते हैं। यदि हम n शब्दों में से किसी एक का चयन करते हैं और उसका एक क्रम बनाते हैं।

  1. पायथन में अलग-अलग नोड्स का उपयोग करके संभावित बीएसटी की संख्या का पता लगाने के लिए कार्यक्रम तैयार किया जा सकता है

    मान लीजिए कि हमारे पास एक संख्या n है। यदि हमारे पास [1,2,...,n] जैसी संख्याएँ हैं, तो हमें इन n मानों का उपयोग करके संभावित BST की संख्या को गिनना होगा। अगर उत्तर बहुत बड़ा है, तो परिणाम को 10^9+7 से संशोधित करें। इसलिए, यदि इनपुट n =3 जैसा है, तो आउटपुट 14 होगा, इसे हल करने के लिए, हम इन चरणों