码迷,mamicode.com
首页 > 其他好文 > 详细

买书求最大折扣

时间:2016-06-04 23:38:43      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:

题目:

书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷售价8元, 具体折扣如下所示:

                               本数                  折扣

                                   2                       5%

                                   3                       10%

                                   4                       20%

                                   5                       25%

根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。
设计算法能够计算出读者购买一批书的最低价格。

分析:

通过枚举得出在购买的书为8本是会出现特殊情况,4,4,组合为最便宜的情况,而其他情况都是5+x最便宜

源代码:

#include <iostream>
using namespace std;

int main()
{
    float price;//金额
    int num;//购买数量
    int num_s;//除10的商
    int num_y;//除10的余数
    cout<<"请输入购买的数量:"<<endl;
    cin>>num;

    num_s=num/5;
    num_y=num%5;
    if (num_y==0)//余数为0,则是5的整倍数,
    {
        price=num_s*5*8*0.75;
    } 
    else if (num_y==1)
    {
        price=num_s*5*8*0.75+num_y*8;
    }
    else if(num_y==2)
    {
        price=num_s*5*8*0.75+num_y*8*0.95;
    }
    else if (num_y==3)//余数为3时,出现特殊情况,拿出一个5 ,与3凑成两个4;
    {
        
        if(num_s==0)
        {
            price=3*8*0.1;
        }
        else
        {
            price=(num_s-1)*5*8*0.75+4*8*0.8*2;
        }
    }
    else
    {
        price=num_s*5*8*0.75+num_y*8*0.8;
    }
    cout<<price<<endl;   
}

运行截图:

技术分享

买书求最大折扣

标签:

原文地址:http://www.cnblogs.com/mengyinianhua/p/5559648.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!