23【应用】促销【北理工乐学C语言作业】

该代码描述了一个算法,用于解决礼品店促销问题,顾客需购买四种商品,总价等于中奖金额且数量非递减。给出了输入商品单价和中奖金额,输出所有可能的购买方案。
摘要由CSDN通过智能技术生成

    礼品店促销,规定:顾客购买指定的四种礼品的总款额等于中奖金额,且四种礼品都要购买(即每种最少要买一件),同时四种礼品购买数量要非递减(即第2种礼品购买数量大于等于第1种购买数量,第3种礼品购买数量大于等于第2种,依次类推)。
        输入:四种商品的单价(第1种, 第2种, 第3种, 第4种)
                   中奖总款额
        输出:全部购买方案

例如:输入:12,360,54,26                (注:四种商品的价格)
                      2018                            (注:中奖金额)
          输出:1,2,6,37                 (注:四种商品的数量非递减)
                     1,3,8,19                 (注:方案不止一个时要全部输出)

#include<stdio.h>  
int main(void){  
    int a,b,c,d,total,i,j,k,m,sum;  
    scanf("%d,%d,%d,%d",&a,&b,&c,&d);  
    scanf("%d",&total);  
    for(i=1;i<=total/a;i++){  
        for(j=i;j<=total/b;j++){  
            for(k=j;k<=total/c;k++){  
                for(m=k;m<=total/d;m++){  
                    sum=a*i+b*j+c*k+d*m;  
                    if(sum==total) printf("%d,%d,%d,%d\n",i,j,k,m);  
                }  
            }  
        }  
    }  
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值