zoukankan      html  css  js  c++  java
  • 系列书籍进行促销活动

     

    一题目:

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

                本数                  折扣

                 2                     5%

                 3                     10%

                 4                     20%

                 5                     25%

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

    二设计思想

    1=1                 6=5+1

    2=2                 7=5+2 

    3=3                 8=4+4

    4=4                 9=5+4

    5=5                10=5+5

    ……………………

    2.1按上面进行循环所以采用取余的方法,计算最合适的价格。

    2.2在此算法中,购买8本时比较特殊,4+4组合最合适,即买两套4本不同的书。

    2.3具体计算价格时是以5个一循环(五本不同折扣最大),

    2.4取余五剩下的本数按不同书计算,相加即为最合适的价格。

    三代码实现

    package 找水王;
    
    
    import java.util.InputMismatchException;
    import java.util.Scanner;
    
    public class GS {
    
        public static void main(String[] args) {
            
            for(;;)                              //按照用户需求无限循环
            {
                int num=0,judge=0;double price=0;
                Scanner in=new Scanner(System.in);
                System.out.println("请输入要买书的本数:");
                
                try                              //捕捉输入错误
                {
                    num=in.nextInt();
                 }
                catch(InputMismatchException e)
                {
                    System.out.println("输入不合法!请输入整数!");
                    judge=1;
                }
                int temp=num/5;                  
                if(num%10==1)                    
                {
                    price=temp*5*8*0.75+8;
                }
                else if(num%10==2)
                {
                    price=temp*5*8*0.75+8*2*0.95;
                }
                else if(num%10==3)
                {
                    price=temp*5*8*0.75+8*3*0.9;
                }else if(num%10==4)
                {
                    price=temp*5*8*0.75+8*4*0.8;
                }else if(num%10==5)
                {
                    price=temp*5*8*0.75;
                }else if(num%10==6)
                {
                    price=temp*5*8*0.75+8;
                }else if(num%10==7)
                {
                    price=temp*5*8*0.75+8*2*0.95;
                }else if(num%10==8)
                {
                    price=temp*4*8*0.8+8*4*0.8;    
                }else if(num%10==9)
                {
                    price=temp*5*8*0.75+8*4*0.8;
                }else if(num%10==0)
                {
                    price=num*8*0.75;
                }
                if(judge!=1)
                    System.out.println("最低价格是:"+price);
             
            }
        }
    }
    View Code

    四 实验截图

    8本

    19本

    999本

    五个人总结

    本次规律可以找出来,但考虑问题的想法还不够周全,编程能力不足。

  • 相关阅读:
    基于OpenCV的图像强度操作
    统计学习方法笔记(一)-k近邻算法原理及python实现
    机器学习实战-之SVM核函数与案例
    机器学习实战之SVM原理与案例
    JStorm与Storm源码分析(七)--BasicBoltExecutor与装饰模式
    JStorm与Storm源码分析(五)--SpoutOutputCollector与代理模式
    JStorm与Storm源码分析(四)--均衡调度器,EvenScheduler
    JStorm与Storm源码分析(三)--Scheduler,调度器
    JStorm与Storm源码分析(二)--任务分配,assignment
    转。Nas配置。想找原版没找到,全是转载的,也没注出处,无语。
  • 原文地址:https://www.cnblogs.com/hanzhu/p/5549177.html
Copyright © 2011-2022 走看看