题目要求:
书店针对《哈利波特》系列书籍进行促销活动,一共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);
}
}
}
实验结果:
实验思路:
当买书本数小于五时不要买同样的这样优惠最多;
当买书本数为六时,买五本一套的,在另外买一本便宜;
当买书本数为七时,买五本一套的,在另外买两本便宜;
当买书本数为八时,买两个四本不同的最便宜;
当买书本数为九时,买五本一套的,在另外买四本便宜;
当买十本或是十本以上时尽量满足五五,如果有八就尽可能凑四四;