有面值1,3,4的三种硬币,求找零6所需的最小硬币数目?(动态规划--C语言实现)
#include <stdio.h> int min(int a,int b){ return a>b?b:a; } int main(void) { int c[]={0,1,3,4}; int a[7]={0}; int n=6; int i,j; int temp; for(i=1;i<=6;i++){ j=1; temp=9999; while(i>=c[j]&&j<=3){ temp=min(temp,a[i-c[j]]); printf("%d--------%d\n",j,a[i-c[j]]); j++; } temp=temp+1; a[i]=temp; printf("a[%d]=%d\n",i,temp); } printf("最小硬币数为:%d",a[6]); }