买书(5.30)

设计思路:

不论买多少本,都是除十,因为在余数之外肯定都是五本五本买最划算。(为什么不除5,因为假如是18本,除五得三余三但是买八本四本四本买比五本和三本买更便宜)余数按照没种情况列举出来,分别计算,最便宜的方法是一定的。最后根据以上方案输出买的方式还有总钱数。

源代码:

 1 package test;
 2 
 3 import java.util.Scanner;
 4 
 5 public class B 
 6 {
 7       static void qianshu(int x,int y)//计算钱数还有方案的函数
 8       {
 9           float number_zqs = 0,number_yzq = 0;//总钱数还有余出来的书的总钱数
10           switch(y)
11           {
12               case 0:number_yzq=0;break;
13               case 1:number_yzq=8;break;
14               case 2:number_yzq=(float) (16*0.95);break;
15               case 3:number_yzq=(float) (24*0.90);break;
16               case 4:number_yzq=(float) (32*0.80);break;
17               case 5:number_yzq=(float) (40*0.75);break;
18               case 6:number_yzq=38;break;
19               case 7:number_yzq=(float) 44.4;break;
20               case 8:number_yzq=(float) 51.2;break;
21               case 9:number_yzq=(float) 55.6;break;
22           }
23           number_zqs=(float) (x*60 + number_yzq);
24           System.out.println("一共要花"+number_zqs+"元!");
25           if(y!=8)//只有8本的情况比较特殊,所以输出语句不同
26           {
27               System.out.println("一共要买" + (2*x+1) + "套! 以及" + y%5 + "本不同的");
28           }
29           else
30           {
31               System.out.println("一共要买" + (2*x+1) + "套! 以及两套中本不同的两个4本");
32           }
33       }
34     
35       public static void main(String arg[])
36       {
37           int number_zongshu=0,number_yushu=0,number_taoshu;//图书总数,除十的余数,还有一共有多少套
38           System.out.println("请输入要购买的书数量:");
39           
40           Scanner in=new Scanner(System.in);
41           number_zongshu=in.nextInt();
42           in.close();
43           
44           number_yushu=number_zongshu%10;
45           
46           number_taoshu=number_zongshu/10;
47           
48           qianshu(number_taoshu,number_yushu);
49       }
50 
51 }

结果截图:

18本那么就是两个五本再加两个四本30+30+32*0.8*2=111.2

23本就是四个五本一个三本,30*4+24*0.9=141.6

总结:

关键思想就是数量多了大头肯定是按照5本5本的买,关键是余数的处理。

原文地址:https://www.cnblogs.com/sisi-job/p/5542561.html