c语言编程练习题:7-69 换硬币
作者:yunjinqi   类别:    日期:2023-05-30 15:18:20    阅读:456 次   消耗积分:0 分    

image.png

#include <stdio.h>
int main(){
    int x;
    int fen5_c_max=0,fen2_c_max=0;
    int fen2_available,fen1_available;
    int count=0;
    if (scanf("%d",&x)!=EOF){
        // 计算最大的5分钱个数
        while ((fen5_c_max+1)*5<x){fen5_c_max++;}
        
        for (int fen5_i=fen5_c_max;fen5_i>0;fen5_i--){
            fen2_available = x - fen5_i*5;
            // 计算最大的2分钱的个数
            fen2_c_max=0;
            while ((fen2_c_max+1)*2<fen2_available){fen2_c_max++;}
            //printf("fen5_c_max = %d fen2_c_max =%d\n",fen5_c_max,fen2_c_max);
            //循环并计算1分钱的个数
            for (int fen2_i = fen2_c_max;fen2_i>0;fen2_i--){
                fen1_available = fen2_available-fen2_i*2;
                printf("fen5:%d, fen2:%d, fen1:%d, total:%d\n",fen5_i,fen2_i,fen1_available,fen1_available+fen2_i+fen5_i);
                count++;
            }
        }
        printf("count = %d",count);
    }else{
        printf("int x wrong");
    }
    return 0;
}


版权所有,转载本站文章请注明出处:云子量化, http://www.woniunote.com/article/194
上一篇:c语言编程练习题:7-68 求N分之一序列前N项和
下一篇:c语言编程练习题:7-70 输出三角形面积和周长