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

पायथन प्रोग्राम: सबसेट सम समस्या

इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे।

समस्या कथन

हमें एक सरणी में गैर-ऋणात्मक पूर्णांकों का एक सेट दिया गया है, और एक मान sum दिया गया है, हमें यह निर्धारित करना है कि क्या दिए गए सेट का एक सबसेट मौजूद है जिसका योग दिए गए योग के बराबर है।

उदाहरण (साधारण दृष्टिकोण)

def SubsetSum(set, n, sum):
    # आधार मामले
    if (sum == 0):
        return True
    if (n == 0 and sum != 0):
        return False
    # यदि अंतिम तत्व sum से बड़ा है तो अनदेखा करें
    if (set[n - 1] > sum):
        return SubsetSum(set, n - 1, sum)
    # अन्यथा, योग जांचें
    # (1) अंतिम तत्व सहित
    # (2) अंतिम तत्व को छोड़कर
    return SubsetSum(set, n-1, sum) or SubsetSum(set, n-1, sum - set[n-1])

# मुख्य
set = [2, 14, 6, 22, 4, 8]
sum = 10
n = len(set)
if (SubsetSum(set, n, sum) == True):
    print("Found a subset with given sum")
else:
    print("No subset with given sum")

आउटपुट

Found a subset with given sum

उदाहरण (डायनामिक दृष्टिकोण)

# डायनामिक दृष्टिकोण
def isSubsetSum(set, n, sum):
    # DP टेबल
    dp = [[False for _ in range(sum + 1)] for _ in range(n + 1)]
    # sum 0 के लिए True
    for i in range(n + 1):
        dp[i][0] = True
    # टेबल भरें
    for i in range(1, n + 1):
        for j in range(1, sum + 1):
            if set[i-1] <= j:
                dp[i][j] = dp[i-1][j] or dp[i-1][j-set[i-1]]
            else:
                dp[i][j] = dp[i-1][j]
    return dp[n][sum]

# मुख्य
set = [2, 14, 6, 22, 4, 8]
sum = 10
n = len(set)
if isSubsetSum(set, n, sum):
    print("Found a subset with given sum")
else:
    print("No subset with given sum")

आउटपुट

Found a subset with given sum

निष्कर्ष

इस लेख में हमने सबसेट सम समस्या के पायथन प्रोग्राम के बारे में सीखा।

  1. पायथन प्रोग्राम: कंपाउंड इंटरेस्ट पायथन प्रोग्राम: कंपाउंड इंटरेस्ट

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

  1. पायथन प्रोग्राम: साधारण ब्याज की गणना पायथन प्रोग्राम: साधारण ब्याज की गणना

    इस लेख में, हम पायथन 3.x या उससे पहले के संस्करण में साधारण ब्याज की गणना के बारे में जानेंगे।साधारण ब्याज की गणना दैनिक ब्याज दर को मूल राशि से गुणा करके और फिर भुगतानों के बीच बीते दिनों की संख्या से गुणा करके की जाती है।गणितीय रूप से,Simple Interest = (P x T x R) / 100जहां, P मूल राशि हैT समय है

  1. पायथन प्रोग्राम: सिलेक्शन सॉर्ट एल्गोरिदम पायथन प्रोग्राम: सिलेक्शन सॉर्ट एल्गोरिदम

    इस लेख में, हम पायथन 3.x या उससे पहले के संस्करण में सिलेक्शन सॉर्ट और इसके कार्यान्वयन के बारे में जानेंगे।सिलेक्शन सॉर्ट एल्गोरिदम में, एक सरणी को अनसॉर्टेड भाग से न्यूनतम तत्व को पुनरावर्ती रूप से ढूंढकर और इसे शुरुआत में डालकर सॉर्ट किया जाता है। दिए गए सरणी पर सिलेक्शन सॉर्ट के निष्पादन के दौरा