继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

硬币找零问题

qq_莫非
关注TA
已关注
手记 21
粉丝 19
获赞 4

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


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP