哈利波特书价问题

题目要求:

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

}

实验结果:

实验思路:

  当买书本数小于五时不要买同样的这样优惠最多;

  当买书本数为六时,买五本一套的,在另外买一本便宜;

  当买书本数为七时,买五本一套的,在另外买两本便宜;

  当买书本数为八时,买两个四本不同的最便宜;

  当买书本数为九时,买五本一套的,在另外买四本便宜;

  当买十本或是十本以上时尽量满足五五,如果有八就尽可能凑四四;

原文地址:https://www.cnblogs.com/feifeishi/p/4488724.html