书店售书最低价格问题

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/470569.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

十七、PHP框架Laravel学习笔记——模型的定义

一.默认设置 框架可以使用 Eloquent ORM 进行数据库交互,也就是关系对象模型; 在数据库入门阶段,我们已经创建了一个 User.php 模型,如下: php artisan make:model Http/Models/User //默认在 app 目录 …

centos 启动一个redis_基于prometheus+grafana体系监控redis缓存服务

概述前面已经介绍了怎么用prometheus监控mysql数据库,今天主要分享下怎么去监控redis服务。由于没有redis环境,所以用docker模拟了一下。一、Docker部署1、下载sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.…

十八、PHP框架Laravel学习笔记——模型的增删改

一.增删改操作 新增方法如下,注意:默认模型接管 created_at 和 updated_at; $users new User(); $users->username 辉夜; $users->password 123; $users->email huiye163.com; $users->details 123; $use…

搞懂语音去噪

文章目录1 概述2 传统语音去噪2.1 谱减法2.2 维纳滤波法3 深度语音去噪参考资料1 概述 语音去噪(noise reduction)又被称为语音增强(speech enhancement),主要是针对于有人声的音频进行处理,目的是去除那些背景噪声,增强音频中人声的可懂性(…

软件架构设计案例_透过现象看本质:常见的前端架构风格和案例

所谓软件架构风格,是指描述某个特定应用领域中系统组织方式的惯用模式。架构风格定义一个词汇表和一组约束,词汇表中包含一些组件及连接器,约束则指出系统如何将构建和连接器组合起来。软件架构风格反映了领域中众多系统所共有的结构和语义特…

十九、PHP框架Laravel学习笔记——批量赋值和软删除

一.批量赋值 上一节增删改中,新增中我们发现需要进行批量赋值的许可;一般情况下,是为了防止提交过来的字段在部分场景中不需要或不能;所以,我们需要通过黑白名单机制进行过滤掉必要的字段; //通…

speech production model

文章目录1 概述2 source model3 filter model4 小结参考资料1 概述 本文的目的是为了厘清在speech production model中source model和filter model所扮演的角色,不涉及具体公式的推导或者模型的建立,只是为了把这两个model在干什么事情说明白。文中用到…

二十、PHP框架Laravel学习笔记——模型的作用域

一.本地作用域 很多情况下,我们在数据查找时有一部分条件会被重复且大量使用;而这个条件,可能只是在这个模型对应的数据表使用,别的表并不使用;那么这种情况,可以使用本地作用域的方式&#xf…

论文阅读 - Joint Beat and Downbeat Tracking with Recurrent Neural Networks

文章目录1 概述2 信号预处理3 分类神经网络4 动态贝叶斯网络(HMM)4.1 原始的bar pointer model4.2 原始的bar pointer model的缺点4.3 改进后的模型5 预测参考资料1 概述 最近在做音乐卡点相关的项目,需要对音乐的基本特征进行理解&#xff…

二十一、PHP框架Laravel学习笔记——模型的访问器和修改器

一.访问器 访问器:就是在获取数据列表时,拦截属性并对属性进行修改的过程;比如,我们在输出性别时,在性别左右加上括号,或给邮件转换为大写; //访问器,前固定 get&#…

python将txt转json_Python控制乐高EV3,以及VSCODE环境配置

乐高EV3的可扩展性很强,但如何用pc连接ev3,并用python代码来控制EV3,资料太少了,试着做了一次,记录在这里。需要的硬/软件硬件准备一、乐高EV3二、PC,win10系统三、TF卡(我用的是64G的&#xff…

移动文件读/写指针----lseek

头文件&#xff1a;#include<sys/types.h>、#include<unistd.h> 函数原型&#xff1a;off_t lseek(int fildes,off_t offset,int whence) 参数说明&#xff1a;fildes:文件描述符 offset:偏移量&#xff0c;正数表示正向偏移&#xff0c;负数表示负向偏移。 whence…

Yolo系列知识点梳理(Yolov1-v5)

文章目录1 概述2 Yolo系列模型2.1 基石 - Yolov12.1.1 Yolov1的网络结构2.1.2 Yolov1的feature map2.1.3 Yolov1的训练2.1.4 Yolov1的预测2.1.5 Yolov1小结2.2 Yolo9000 - Yolov22.2.1 Better2.2.1.1 引入了Batch normalization2.2.1.2 高分辨率的分类器2.2.1.3 加入了anchor机…

二十二、PHP框架Laravel学习笔记——集合的使用

一&#xff0e;创建集合 什么是集合&#xff1f;即&#xff1a;它是一种更具读取性和处理能力的数组封装&#xff1b;比如&#xff0c;我们从数据库得到的数据列表&#xff0c;它就是一种集合&#xff1b;数据集合&#xff0c;提供了大量的方法方便我们进行各种操作&#xff1…

二十三、PHP框架Laravel学习笔记——集合的常用方法

一&#xff0e;常用方法 all()方法&#xff0c;转换为属性形式输出&#xff0c;使用 dd 方法看类型&#xff1b; $collection collect([1, 2, 2, 3, 4, 4, 4]); dd($collection->all()); PS&#xff1a;$collection->dd()方法可以以 dd()模式输出&#xff0c;还有 du…

mac看图软件哪个好用_细数Mac上那些好用且免费的软件(三)

许多朋友购买了Mac电脑之后发现很多软件都没有&#xff0c;而且苹果商店好多软件都是收费的。那有没有免费的软件也能满足日常的需求呢&#xff1f;macw小编就为大家推荐一些免费且超级好用的软件&#xff0c;赶快来看看有没有你需要的吧&#xff01;细数Mac上那些好用且免费的…

图像表格实线和虚线检测

文章目录1 背景简述2 camelot中的方法2.1 二值化2.2 腐蚀膨胀2.3 轮廓检测2.4 结果展示3 基于霍夫直线检测的方法3.1 霍夫直线检测原理3.2 概率霍夫直线检测3.3 霍夫直线应用参考资料1 背景简述 图像中的表格结构化是一个比较热门的话题&#xff0c;其输入是一张图片&#xff…

二十四、PHP框架Laravel学习笔记——模型的数据集合

一&#xff0e;数据集合 数据集合&#xff0c;就是已经将模型方法 get()获取到的数据再进行处理&#xff1b;比如&#xff1a;map()方法&#xff0c;通过它可以实现类似访问器一样对字段进行处理的效果&#xff1b; $users User::get(); //使用集合方法 map 可以对输出的字…

论文阅读 - AUTOVC: Zero-Shot Voice Style Transfer with Only Autoencoder Loss

文章目录1 概述2 模型架构3 模块解析3.1 获取梅尔频谱3.2 speaker encoder3.3 AutoVC3.4 Vocoder4 关键部分参考资料1 概述 voice conversion这个任务的目标是输入两个音频&#xff0c;其输入是两段音频&#xff0c;一段音频称为content_audio&#xff0c;另一段称为speaker_a…

二十五、PHP框架Laravel学习笔记——模型的一对一关联

一&#xff0e;关联概念 关联模型&#xff0c;即&#xff1a;两张或以上的表进行一定规则的绑定关联&#xff1b;比如&#xff1a;一个学生(学生表)对应一张个人信息卡(信息表)&#xff0c;这种就是一对一&#xff1b;再比如&#xff1a;一篇博文(帖子表)对应多个评论(评论表)…