Math 如何找到n美分的邮资可以由4美分、6美分、10美分支付的方法?

Math 如何找到n美分的邮资可以由4美分、6美分、10美分支付的方法?,math,recurrence,Math,Recurrence,比如说, n=4(4x1)1路 n=10(4x1,6x1)(10x1)2路 是否有任何方程式可以表示路径数?您使用了递归关系标记-是的,可以使用递归来计算路径数 P(N) = P(N-10) + P(N-6) + P(N-4) P(0) = 1 说明-您可以使用(N-10)美分的总和和10美分的硬币等获得总和N。 对于相当大的N值,递归算法的工作时间太长,因此可以构建动态规划算法来加速计算(DP将重复使用计算值进行较小的求和)假设您有一个面额列表。在您的例子中,它是A=[4,6,10]。因此,

比如说,

n=4(4x1)1路

n=10(4x1,6x1)(10x1)2路


是否有任何方程式可以表示路径数?

您使用了
递归关系
标记-是的,可以使用递归来计算路径数

P(N) = P(N-10) + P(N-6) + P(N-4)
P(0) = 1
说明-您可以使用(N-10)美分的总和和10美分的硬币等获得总和N。
对于相当大的N值,递归算法的工作时间太长,因此可以构建动态规划算法来加速计算(DP将重复使用计算值进行较小的求和)

假设您有一个面额列表。在您的例子中,它是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
#给定面额列表、长度和总和。
如果N<0或K<0,P(A,N,K)=0,
1如果K=0,
P(A,N-1,K)+P(A,N-1,K-A[N])#A[N]>list的第N个元素

正如我们可以看到重复使用子问题的可能性一样,DP将非常有效。

我投票结束这个问题,因为它与编程或软件开发无关。