《哈利波特》最低折扣

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

本数                  折扣

2                       5%

3                       10%

4                       20%

5                       25%

·根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。

·设计算法能够计算出读者购买一批书的最低价格。

设计思想:

 首先前5本书的折扣肯定是全部买折扣最低。然后从第6本到第9本时。

  第六本:5加1

  第七本:5加2

  第八本:4加4

  第九本:5加4

所以只需要将所需要买的书除以5之后,然后将余数加上5和这几个相比较,最特殊的自然是8本的时候,然后在计算。

代码实现:

import java.util.Scanner;

public class BuyBook {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        @SuppressWarnings("resource")
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入需要购买书本的数量:");
        int booknumber = sc.nextInt();
        int num=booknumber%5;//除5求余数
        double price=0;
        switch(num)
        {
        case 0://买的数量刚好为5的倍数
            price=booknumber*8*0.75;
            break;
        case 1://买的数量除5余1
            price=(booknumber-1)*8*0.75+8;
            break;
        case 2://买的数量除5余2
            price=(booknumber-2)*8*0.75+2*8*0.95;
        case 3://买的数量除5余3
            if(booknumber==3)
            {
                price=3*8*0.9;
            }
            else
            {
                price=(booknumber-8)*8*0.75+2*4*8*0.8;
            }
            break;
        case 4://买的数量除5余4
            price=(booknumber-4)*8*0.75+4*8*0.8;
            break;
        }
        System.out.println("购书的最低价格为"+price);
    }
}

实现截图:

     

 

个人总结:

  这次作业主要是思想方法到位了就行了,找到解决的算法之后就好做了。在坐的过程中switch语句中每个case忘记加break了,所以计算出来是错的。

时间: 2024-10-21 07:53:56

《哈利波特》最低折扣的相关文章

《哈利波特》购书最低折扣

·书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数                  折扣 2                       5% 3                       10% 4                       20% 5                       25% ·根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本

买书求如何获得折扣使价格最低

题目: 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数                  折扣 2                       5% 3                       10% 4                       20% 5                       25% 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷1,

华为云开年采购季活动正式上线 云服务器最低78.88/年可购3年

目前华为云计算已经上线开年采购季活动助力企业低成本上云,不同规格的云服务器最低仅需78.88元一年. 此类服务器最低折扣低至0.6折同时最高可购买3年,例如云服务器3年仅需要236.65元无惧后续续费压力. 本次开年采购季活动支持同时支持个人用户和企业用户购买,提供的服务器规格非常多可满足多数用户实际需要. 联系方式:闫先生  15330237152 (同微信 ) 原文地址:https://www.cnblogs.com/yan578634/p/12350674.html

书店促销活动

题目:书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数                  折扣 2                    5% 3                    10% 4                    20% 5                    25% 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的

编程之美之买书问题

拿到这个问题,我的第一反应是用贪心算法,优先满足不同种类多的,这样打的折扣比价多.但是,看了书中的分析发现,* 我们设定的贪心策略实际上是有问题的, ie 在买 5 + 3 本的时候会出错. 看到这里,书上说可以利用改进的贪心算法,感觉如果换了相应的折扣数量,可能又会有不同的结果了.因而,没有深入的研究下去. 既然,贪心算法不可行,那就用动态规划呗. 这里的动态规划思路很简单不过写起来有些复杂.我们这里用到了5维数组, 光是init 就写了好多. 其实我在写的时候,就在想有什么简单一点的方法可以

关于steam

Steam是美国电子游戏商威尔乌于2003年9月12日推出的数字发行.数字版权管理及社交系统,它用于数字软件及游戏的发行销售与后续更新,支持Windows.OS X和Linux等操作系统,是目前全球最大的PC电子游戏平台. 早期[编辑] 在Steam推出之前,维尔福公司在发布电子游戏更新时遇到了难题.当中一个<反恐精英>游戏的更新导致大量在线玩家断线.此后,维尔福团队决定要制作一个软件,就是能为游戏自动更新的Steam平台.Steam亦集成反盗版及反作弊系统.在正式制作前,Valve公司曾接触

从假洋河酒事件看 电商监督制度缺失

最近一瓶10元廉价酒变成400元洋河天之蓝事件,因各大主流新闻报道而被坊间热议.事件中,检察院人员发现整个事件中,物流环节存在巨大漏洞,长期利用物流冒以配件.家电之名将大量假酒发向全国的行为背后,是拆包检查的自律公约的失效. 同样的行为,也发生在如今野蛮生长的微商.电商中.由于在具体的运营环节相应监管体制的匮乏,大量涌入电商市场的假货通过这个巨大的销售网络向全国兜售.虽也有自律公约,但单纯依靠自律形成可靠监督的行为却在屡次假酒假货事件中被暴露出问题.  问题一:国内多数电商没有独立商检部门 电商

WV梦幻之旅和你之间的关系只有三种!

worldventures世界环旅俱乐部简称wv梦幻之旅,不管你从事过什么,这个不需要你靠关系,不需要你有后台罩着你往上爬,不需要你家产多么的雄厚,也不需要你外貌多么的出众, wv -只会和你发生三种关系,哪三种关系?路老师团队钟sir告诉你: 1.没有关系 2.消费者(成为会员,分黄金会员和铂金会员.缴纳月费,就像高尔夫球俱乐部等.每月公司会返旅游积分,可以订购超值旅游套餐,最低折扣机票,四五星的酒店,二三星的价格.) 3.营业代表(当你觉得非常的不错,你只需要分享给所有你认识或者不认识的人,

银行房贷新政7折利率难觅 取消限贷或刺激550万需求

银行房贷新政7折利率难觅 取消限贷或刺激550万需求 行业动态新京报[微博]苏曼丽2014-10-11 06:11 我要分享 0 新京报讯 (记者苏曼丽)继招商银行.中国建设银行之后,中国银行昨天也宣布,已于10月1日起执行首套房贷新政策,同日兴业银行也表示近日已经执行新政.记者昨天咨询几家银行网点了解到,开始执行新政的各家银行中,“贷清不认房”已经非常明确开始执行,但是对于首套房利率依然是折扣不多,7折更是不见踪影. 7折优惠“没有细则” 9月30日,央行宣布房贷认定新标准,并重申,贷款购买首