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


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

    二、解题思路:

    通过对6本书、7本书、8本书、9本书的分析得到当本数为6、7、9时,最便宜的组合为5+1,5+2,5+4,当本数为8时,最便宜的组合为4+4,因此当本数为13,23,33等时都要分出一个8来才会最便宜,因此首先分为两种情况:本数除以五是余数为3和本数除以五是余数为3以外的数。余数为三时,判断本数除以5的整数商及(本数/5),如果为0,则本数乘以0.9,如果不为0,则商减一,余数加5计算;余数为其他,按商是几,余数是几计算。

    三、源代码:

    package shopp;
    
    import java.util.*;
    
    public class main {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            
            int N=0;
            int n=0;
            int m=0;
            Scanner S=new Scanner(System.in);
            System.out.print("请输入你要购买的书的本数:");
            N=S.nextInt();
            if(N%5==3)
            {
                n=N/5;
                m=N%5;
                if(n==0)
                {
                    System.out.println("读者购买一批书的最低价格为:"+(3*8*0.9));
                }
                else
                {
                    System.out.println("读者购买一批书的最低价格为:"+((n-1)*5*8*0.75+2*4*8*0.8));
                }
            }
            else
            {
                n=N/5;
                m=N%5;
                switch(m)
                {
                   case 0:System.out.println("读者购买一批书的最低价格为:"+(n*5*8*0.75));break;
                   case 1:System.out.println("读者购买一批书的最低价格为:"+(n*5*8*0.75+8));break;
                   case 2:System.out.println("读者购买一批书的最低价格为:"+(n*5*8*0.75+m*8*0.95));break;
                   case 4:System.out.println("读者购买一批书的最低价格为:"+(n*5*8*0.75+m*8*0.9));break;
                   case 5:System.out.println("读者购买一批书的最低价格为:"+(n*5*8*0.75+m*8*0.75));break;
                }
            }
        }
    }

    四、程序运行截图:

    五、个人总结

        这次实验总体感觉较好,没有出现太多的问题,主要是在使用switch语句时,忘记了加break。

  • 相关阅读:
    ddos(分布式拒绝服务)攻击防御措施
    arp_announce和arp_ignore 详细解说
    TCP三次握手和四次挥手
    ARP请求详解
    LVS/DR模式原理剖析(FAQs)
    nfs配置 /etc/exports
    LVS集群之十种调度算法及负载均衡-理论
    SSH 故障排查思路
    shell脚本基础和编写规范
    计算机操作系统概述
  • 原文地址:https://www.cnblogs.com/fengyutongxing/p/4495457.html
Copyright © 2020-2023  润新知