一,问题描述
书店针对《哈利波特》系列书籍进行促销活动,一共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);
}
}
四、实现截图
五、个人总结
这样列举的方法可以帮我们简单粗暴地解决一些问题,可以通过列举来找到一般的规律,从而得到最有结果