有面值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]);
}