• 买书优惠问题


    一,问题描述

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

                                   本数                  折扣

                                       2                       5%

                                       3                       10%

                                       4                       20%

                                       5                       25%

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

    二、设计思想

    可以列举出买一本到十本各个最优化的方案,得知在购买8本书时有差异,所以把他们一个个列进一个数组里,在以此类推即可。

    三、代码实现、

    import java.util.Scanner;
    
    //20142984chengchongjing
    //买书问题
    public class Main {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
            double  a[]=new double [11];
            a[0]=0;
            a[1]=8;
            a[2]=15.2;
            a[3]=21.6;
            a[4]=25.6;
            a[5]=30;
            a[6]=38;
            a[7]=45.2;
            a[8]=51.2;
            a[9]=55.6;
            a[10]=60;
            
          int zushu=0,yvshu=0,benshu=0;
          double zongjia; 
          
          Scanner in=new Scanner(System.in)  ;
          System.out.println("请输入要购买的书籍的本数");
          benshu=in.nextInt();      
          zushu=benshu/10;
          yvshu=benshu%10;
          zongjia=zushu*a[10]+a[yvshu];
          System.out.println("最便宜的购书钱数为"+zongjia);
            
    	}
    
    }
    

      

    四、实现截图

    五、个人总结

    这样列举的方法可以帮我们简单粗暴地解决一些问题,可以通过列举来找到一般的规律,从而得到最有结果

  • 相关阅读:
    多项式乘法
    容斥计算多重组合
    D. Tokitsukaze, CSL and Stone Game
    优惠买商品(dp、greedy)
    数星星(单点更新,求前缀和)
    信息推送(单点更新,求前缀和)
    互相送礼物
    Codeforces Round #611 (Div. 3)E. New Year Parties
    多源bfs
    mysql事务和锁
  • 原文地址:https://www.cnblogs.com/3066405538a/p/5559056.html
Copyright © 2020-2023  润新知