一,问题描述

  
  书店针对《哈利波特》系列书籍进行促销活动,一共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);
        
	}

}

  

四、实现截图

五、个人总结

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

posted on 2016-06-04 16:37  憧憧  阅读(321)  评论(0编辑  收藏  举报