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

पायथन में n कैंडीज को k बैग में वितरित करने के तरीकों की संख्या गिनने का प्रोग्राम


मान लीजिए, n संख्या में कैंडीज हैं और k बैग हैं जिनमें कैंडीज डालनी हैं। हमें उन संभावित तरीकों की संख्या ढूंढनी है जिनसे कैंडीज वितरित की जा सकती हैं ताकि प्रत्येक बैग में कम से कम एक कैंडी हो। इस परिदृश्य में हर कैंडी अद्वितीय है, इसलिए हमें उन सभी संभावित तरीकों को गिनना होगा जिनसे कैंडीज को बैग में वितरित किया जा सकता है।

उदाहरण के लिए, यदि इनपुट है n = 3, k = 2, तो आउटपुट 3 होगा।

कैंडीज को इस तरह रखा जा सकता है:

(1, 2), (3)
(1), (2, 3)
(2), (1, 3)

समाधान दृष्टिकोण

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

  • dp := n x n आकार का एक मैट्रिक्स जिसे 1 से आरंभ किया गया हो

  • c के लिए 2 से n तक लूप चलाएं

    • b के लिए 1 से min(c, k) तक लूप चलाएं

      • dp[c][b] := dp[c-1][b-1] + dp[c-1][b] * (b+1)

  • dp[n-1][k-1] लौटाएं

उदाहरण

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

def solve(n, k):
    dp = [[1] * n for _ in range(n)]
    for c in range(2, n):
        for b in range(1, min(c, k)):
            dp[c][b] = dp[c-1][b-1] + dp[c-1][b] * (b+1)
    return dp[n-1][k-1]

print(solve(3, 2))

इनपुट

3, 2

आउटपुट

3
  1. पायथन में ऐरे में x से बड़े सभी वैल्यूज को फ़िल्टर करने का प्रोग्राम पायथन में ऐरे में x से बड़े सभी वैल्यूज को फ़िल्टर करने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की सूची है। हमारे पास x नामक एक और संख्या भी है। हमें nums से उन सभी नंबरों को फ़िल्टर करके ढूंढना है जो x से कम हैं। पायथन में filter() मेथड होता है जो फंक्शन को आर्गुमेंट के रूप में लेता है और इस फंक्शन का उपयोग करके फ़िल्टर करता है। तो, यदि इनपुट nums = [1,5

  1. मैट्रिक्स में पूरी तरह से घिरे हुए द्वीपों की संख्या गिनने का पायथन प्रोग्राम मैट्रिक्स में पूरी तरह से घिरे हुए द्वीपों की संख्या गिनने का पायथन प्रोग्राम

    मान लीजिए हमारे पास एक बाइनरी मैट्रिक्स है। जहां 1 भूमि दर्शाता है और 0 पानी दर्शाता है। जैसा कि हम जानते हैं एक द्वीप 1 का समूह है जो एक साथ जुड़े हुए हैं जिसकी परिधि पानी से घिरी हुई है। हमें पूरी तरह से घिरे हुए द्वीपों की संख्या ढूंढनी है। उदाहरण के लिए, यदि इनपुट इस तरह है: तो आउटपुट 2 होगा,

  1. Python प्रोग्राम से सेट का उपयोग करके दी गई स्ट्रिंग में स्वरों की संख्या गिनना Python प्रोग्राम से सेट का उपयोग करके दी गई स्ट्रिंग में स्वरों की संख्या गिनना

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