哈利波特书价问题
题目要求:
书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷售价8元,具体折扣如下所示:
本数 折扣
2 5%
3 10%
4 20%
5 25%
根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。
设计算法能够计算出读者购买一批书的最低价格。
实验代码:
package 哈利波特书; public class aa { public static void main(String[] args) { // TODO Auto-generated method stub int a; double b,c; System.out.println("本数 最低价 "); for(a=1;a<22;a++) { if(a%5==0) { b=0; } else if(a%5==1) { b=8*1; } else if(a%5==2) { b=8*2*0.95; } else if(a%5==3) { b=8*3*0.9; } else { b=8*4*0.8; } if(a%5!=3||a<5) { c=a/5*30+b; } else { c=(a/5-1)*30+2*8*4*0.8; } System.out.print(a+" "); System.out.println(c); } } }
实验结果:
实验思路:
当买书本数小于五时不要买同样的这样优惠最多;
当买书本数为六时,买五本一套的,在另外买一本便宜;
当买书本数为七时,买五本一套的,在另外买两本便宜;
当买书本数为八时,买两个四本不同的最便宜;
当买书本数为九时,买五本一套的,在另外买四本便宜;
当买十本或是十本以上时尽量满足五五,如果有八就尽可能凑四四;