इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे।
समस्या कथन - हमें एन सिक्के दिए गए हैं और हम उन सिक्कों में बदलाव करना चाहते हैं, जैसे कि एस में प्रत्येक मूल्य की अनंत आपूर्ति है। हमें यह प्रदर्शित करने की आवश्यकता है कि हम कितने तरीकों से बदलाव कर सकते हैं, क्रम के बावजूद।पी>
हम समय की जटिलता को कम करने के लिए समस्या कथन को हल करने के लिए गतिशील प्रोग्रामिंग की अवधारणा का उपयोग करेंगे।
आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें -
उदाहरण
# dynamic approach def count(S, m, n): # base case table = [[0 for x in range(m)] for x in range(n+1)] # for n=0 for i in range(m): table[0][i] = 1 # rest values are filled in bottom up manner for i in range(1, n+1): for j in range(m): # solutions including S[j] x = table[i - S[j]][j] if i-S[j] >= 0 else 0 # solutions excluding S[j] y = table[i][j-1] if j >= 1 else 0 # total table[i][j] = x + y return table[n][m-1] # main arr = [1, 3, 2, 4] m = len(arr) n = 5 print(“Number of coins:”,end=””) print(count(arr, m, n))
आउटपुट
Number of coins:6
सभी चर स्थानीय दायरे में घोषित किए गए हैं और उनके संदर्भ ऊपर दिए गए चित्र में देखे गए हैं।
निष्कर्ष
इस लेख में, हमने सीखा है कि हम सिक्का परिवर्तन के लिए पायथन प्रोग्राम कैसे बना सकते हैं