例如,
n = 4(4x1)1路
n = 10(4x1,6x1)(10x1)2路
有没有方程可以表达方式的数量?
答案 0 :(得分:0)
您使用了recurrence-relation
标记 - 是的,可以使用重复计算方式的数量。
P(N) = P(N-10) + P(N-6) + P(N-4)
P(0) = 1
说明 - 您可以使用(N-10)美分和10美分硬币获得总和N,等等。 对于相当大的N递归算法值将会工作太长时间,因此可以构建动态编程算法来加速计算(DP将重用较小总和的计算值)
答案 1 :(得分:0)
假设您有一个面额列表。在你的情况下,它是A = [4,6,10]。所以假设你有以下几点:
A = [4,6,10]
Length of list A = N
Sum = K
问题可以写成:
# Given the list of denominations, its length and the sum.
P(A,N,K) = 0 if N < 0 or K < 0,
1 if K = 0,
P(A,N-1,K) + P(A,N-1,k-A[N]) #A[N]-> Nth element of list
正如我们可以看到重新使用子问题的可能性,DP将会非常有效。