在 Python 中使用印度面额查找我们可以获得 n Rs 的多种方法的程序
假设我们的面额硬币有限(1卢比、2卢比、5卢比和10卢比)。我们必须找出有多少种方法可以将它们加起来为₹n?我们有一个大小为4的数组count,其中count[0]表示₹1的硬币,count[1]表示₹2的硬币,依此类推。
因此,如果输入类似于n=25count=[7,3,2,2],那么输出将为9。
示例
让我们看看以下实现以获得更好的理解-
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