设计思路:
由题目可知在1-5本之间时,购买1、2、3、4、5本不同书籍最省钱,6本时是5+1,7本时是5+2,8本时是4+4,9本时是5+4,以上是最省钱的购买方式。若购买的书籍是num本,则花费最少的金额为money,
当num%5=0时,money=num*8*0.75;
当num%5=1时,money=(num-1)*8*0.75+8;
当num%5=2时,money=(num-2)*8*0.75+8*2*0.95;
当num%5=3时,money=(num-8)*8*0.75+8*8*0.8;
当num%5=4时,money=(num-4)*8*0.75+4*8*0.8。
以上就可以的得出最少花费的购买书籍的方式。
代码:
import java.util.Scanner; public class maishu { @SuppressWarnings("resource") public static void main(String[] args) { // TODO Auto-generated method stub Scanner in=new Scanner(System. in); System.out.print("Input book number :"); int num =in.nextInt(); double money=0,n; n=num%5;//记录执行那此操作; if(n==0) money=num*8*0.75; if(n==1) money=(num-1)*8*0.75+8; if(n==2) money=(num-2)*8*0.75+8*2*0.95; if(n==3) money=(num-8)*8*0.75+8*8*0.8; if(n==4) money=(num-4)*8*0.75+4*8*0.8; System.out.print("最节省方式购买所需要的钱 :"+money+" 元"); } }
截图: