带缓存的C动态规划

带缓存的C动态规划,c,caching,dynamic-programming,C,Caching,Dynamic Programming,我需要创建一个程序来计算变化,使用带有缓存的动态编程。该程序将返回一个数组,其中的硬币与零钱相加 我已经参考了关于动态编程的伪代码,但是输出只是硬币的数量,我不确定下面的行是否真正实现了缓存 if ((values[j] <=a)&& (1+coins[a-values[j]]<coins[a])) if((values[j]这一点,如您提供的链接中所述,应该使用来解决。您的解决方案不是递归的。您的程序应该重复出现,例如调用自身。我不确定您需要返回什么,但如果它是i

我需要创建一个程序来计算变化,使用带有缓存的动态编程。该程序将返回一个数组,其中的硬币与零钱相加

我已经参考了关于动态编程的伪代码,但是输出只是硬币的数量,我不确定下面的行是否真正实现了缓存

if ((values[j] <=a)&& (1+coins[a-values[j]]<coins[a]))

if((values[j]这一点,如您提供的链接中所述,应该使用来解决。您的解决方案不是递归的。您的程序应该重复出现,例如调用自身。我不确定您需要返回什么,但如果它是int数组中的值的加法,那么应该有如下内容:

inside DynamicMakeChange():

if (n>0)
 return (array[n] + DynamicMakeChange(choice,array[n-1],n-1));
return 0;

coins[]
为整数,
amt
为浮点数。
inside DynamicMakeChange():

if (n>0)
 return (array[n] + DynamicMakeChange(choice,array[n-1],n-1));
return 0;