书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷售价8元, 具体折扣如下所示:

本数                  折扣

2                       5%

3                       10%

4                       20%

5                       25%

根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,
例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。
设计算法能够计算出读者购买一批书的最低价格。
1》设计思路:
首先在自己计算一下1到10本的最低价格:
其中1到5本的时候,都是按相应的折扣进行购买,就是最低价格
而6到10本就需要自己算一下了,其结果如下:
6本:5+1方案价格最低
7本:5+2方案价格最低
8本:4+4方案价格最低
9本:5+4方案价格最低
10本:5+5方案价格最低
所以10本以后就需要看除以5的余数就可以了,可以整除的那部分按5本折扣算,不能整除的按不能整除的有几本,就按几本折扣算,
其中当余数为3时,情况较为特殊,因为当有8本是4+4方案最优,应该是减去8本,那8本按4+4计算,其余的按5本的折扣计算
当然只有3本时,就输出3本书的情况。
2》源代码:
 1 import java.util.*;
 2 public class MinPrice {
 3     public  static void main(String args[]){
 4         Scanner sc =new Scanner(System.in);
 5
 6         double money=0;//总钱数
 7         int biaoshi =1; //是否想继续的标识
 8         while(biaoshi>0)
 9         {
10             System.out.println("请输入你想购书的数量:");
11             int num = sc.nextInt();
12
13             int yushu=num%5;
14             switch(yushu)
15             {
16                 case 0:
17                 {
18                     money=num*8*0.75;
19                     break;
20                 }
21                 case 1:
22                 {
23                     money=(num-1)*8*0.75;
24                     break;
25                 }
26                 case 2:
27                 {
28                     money=(num-2)*8*0.75+8*2*0.95;
29                     break;
30                 }
31                 case 3:
32                 {
33                     if(num==3)
34                     {
35                         money=num*8*0.9;
36                         break;
37                     }
38                     else
39                     {
40                         money=(num-8)*8*0.75+2*8*4*0.85;
41                         break;
42                     }
43
44                 }
45                 case 4:
46                 {
47                      money=(num-4)*8*0.75+8*4*0.8;
48                      break;
49                 }
50             }
51             System.out.println("书的最低价格为:"+money);
52             System.out.println("您是否继续,继续选1否则选0");
53             biaoshi =sc.nextInt();
54         }
55
56     }
57 }

结果截图:

总结:要注意总结规律,还要注意找出不同于常规的那个数,这往往是正确解决问题关键

转载于:https://www.cnblogs.com/sz20142898/p/5543038.html

书店售书最低价格问题相关推荐

  1. 软件工程个人项目——买书的最低价格

    软件工程个人项目--买书的最低价格 题目要求: 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数        ...

  2. 课堂练习---最低价格买书

    书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数 折扣 2 5% 3 10% 4 20% 5 25% 根据购买 ...

  3. 课堂练习之购书最低价格

    问题描述: 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数 折扣 2     5% 3     10% 4 ...

  4. 在当当和亚马逊中搜书并输出最低价格

    这两天想买几本关于Python的书,自然是到各网上书店里找,比较哪家最便宜的下手了.可是发现很麻烦,需要在每个网站里每本书都要搜一遍,搜完还得计个总价格,看看谁家便宜.所以想到了用Python的爬虫技 ...

  5. mooc作业怎么上传附件_怎么以最低价格入门hifi音响?

    方案一:音源 用电脑 某宝一个  DIY的DAC    大概200-300元 某宝一个迷你的DIY前级功放   大概200-300元 某宝一个后级小甲类功放  1969小甲    大概600-1500 ...

  6. python股票历史最低点_Python统计某一只股票每天的开盘,收盘,最高,最低价格!...

    模块:Numpy 码字不易,转载请注明出处!十分感谢! 准备工作: 抓取某一只股票的信息,每30min为一组数据,可以参考上一篇: Note: 只为演示如何统计,更精准的可以抓取每5min为一组数据 ...

  7. python3.7 统计某一只股票每天的开盘,收盘,最高,最低价格

    python3.7 统计某一只股票每天的开盘,收盘,最高,最低价格 模块:Numpy 码字不易,转载请注明出处!十分感谢! 准备工作: 抓取某一只股票的信息,每30min为一组数据,可以参考上一篇: ...

  8. Python统计某一只股票每天的开盘,收盘,最高,最低价格!

    模块:Numpy 码字不易,转载请注明出处!十分感谢! 准备工作: 抓取某一只股票的信息,每30min为一组数据,可以参考上一篇: Note: 只为演示如何统计,更精准的可以抓取每5min为一组数据 ...

  9. 查询具有最低价格的的彩色打印机的制造商

    涉及到的表:product.printer select maker from product,printer where product.model=printer.model and color= ...

最新文章

  1. 向量算子优化Vector Operation Optimization
  2. nginx启动只有master没有worker_深入浅出Nginx
  3. HDU 6143 Killer Names(排列+容斥,dp)
  4. 非科班的java程序员该如何补充计算机基础知识,需要看哪些书?
  5. 深入探讨 java.lang.ref 包
  6. Flink SQL Client实现CDC实验
  7. [转帖]浪潮openstack的逆袭
  8. 暨南大学人文社科a类期刊_暨南大学人文社会科学重要期刊目录分类
  9. 第一门课神经网络和深度学习(一)-深度学习引言
  10. 找不到服务器或应用项目,版本找不到服务器应用程序、源文件或项目的解决办法...
  11. ChucK初步(8)
  12. 动词ing基本用法_动词ing的几种常见用法
  13. 瀑布模型(waterfall model)需求明确+严格顺序执行
  14. c语言中的结构体定义和常见用法
  15. 夹子机器人/pancakes科学家机器人这种骗局到现在还有人会上当!每天骗取上千万!带大家一同揭秘!!
  16. 浪潮森林防火智能监控解决方案
  17. colorkey唇釉是否安全_colorkey唇釉成分安全吗
  18. CentOS搭建Terraria服务器
  19. c语言中字符串比较指令,如何在C条件预处理器指令中比较字符串
  20. 感受Google的汉英翻译能力

热门文章

  1. 遇到问题了 .net项目发布到iis6,没有权限访问!?
  2. python并发编程之多线程
  3. git管理复杂项目代码
  4. Linux负载均衡软件LVS之一(概念篇)
  5. MR作业的提交监控、输入输出控制及特性使用
  6. Safari支不支持HTML5录音? 现在浏览器中最好的解决方案是WebRTC下的 navigator.getUserMedia API。...
  7. 求二叉树中两个节点的最远距离
  8. 参加第三届信息化创新克拉玛依国际学术论坛
  9. Ken Thompson爷爷的经典复制自身代码程序 - Python版本(只用两行!)
  10. 最近公共祖先 python_求二叉搜索树的最近公共祖先