书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷售价8元, 具体折扣如下所示:
本数 折扣
2 5%
3 10%
4 20%
5 25%
根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。
设计算法能够计算出读者购买一批书的最低价格。

思路:首先算出1到10本的最低价格,

1本 8元

2本 15.2元 按照两本的折扣 (和上一个阶段差7.2元)

3本 21.6元 按照三本折扣 不能按照2 1分 (和上一个阶段差6.4元)

4本 25.6元 按照4本折扣(和上一个阶段差4元)

5本 30元 按照5本折扣 (和上一个阶段差4.4元)

6本 38元 按照5+1本 最优

7本 45.2元 按照4+3本 最优

8本 51.2元 按照4+4本 最优

9本 55.6元 5+4本 最优

10本 60元 5+5本 最优

发现:首先在纸上从1开始计算找规律,发现当这个数依次减5后出现8时,买2套4卷不一样的书时价格是最便宜的,其他情况下都是买5卷不一样的,然后剩下小于5本的就按照折扣价格购买。

源代码:

#include <iostream>
using namespace std;
void main()
{int n;  //书的本数int a = 0, b = 0; //a为当本数大于5的时候,表示有几个5,则计算几倍的5本价钱。b表示剩余的不足5本的价格。double sum;  //sum表示总价格cout << "请输入要买的书的本数:" << endl;cin >> n;a = n / 5;b = n % 5;if(n == 3)sum = 3 * 8 * (1 - 0.1);else{if(b == 0)sum = a * 5 * 8 * (1 - 0.25);if(b == 1)sum = a * 5 * 8 * (1 - 0.25) + 8;if(b == 2)sum = a * 5 * 8 * (1 - 0.25) + 2 * 8 * (1 - 0.05);if(b == 3)sum = (n - 8) / 5 * 5 * 8 * (1 - 0.25) + 4 * 2 * 8 * (1 - 0.2);if(b == 4)sum = a * 5 * 8 * (1 - 0.25) + 4 * 8 * (1 - 0.2);}cout << "总价格为:" << sum << "元。" << endl;
}

总结:题本身很简单,只要从第一本开始列出来,找出其中的规律,程序思路很容易就出来了。

转载于:https://www.cnblogs.com/diyunfei/p/5561065.html

课堂练习---最低价格买书相关推荐

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

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

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

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

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

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

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

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

  5. pyhton爬虫 爬取电商平台商品历史价格、最低价格(慢慢买网)

    主要使用的库: requests:爬虫请求并获取源码 re:使用正则表达式提取数据 json:使用JSON提取数据 pandas:使用pandans存储数据 #!coding=utf-8 import ...

  6. 买书动态规划java_《编程之美》买书问题——动态规划

    问题描述: 在节假日的时候,书店一般都会做促销活动.由于<哈利波特>系列相当畅销,店长决定通过促销活动来回馈读者.上柜的<哈利波特>平装本系列中,一共有五卷.假设每一卷单独销售 ...

  7. 结对开发 《哈利波特》买书最实惠方案设计

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

  8. 买书折扣算法 c语言,买书折扣最优惠问题解法

    题目:在节假日的时候,书店一般都会做促销活动.由于<哈利波特>系列相当畅销,店长决定通过促销活动来回馈读者.在销售的<哈利波特>平装本系列中,一共有五卷,用编号0, 1, 2, ...

  9. 编程之美——买书问题:贪心算法

    1 问题描述及分析 买书折扣问题的描述是,某出版社的<哈里波特>系列共有5卷,每本单卖都是8块钱,如果读者一次购买不同的k(k>=2)卷,就可以享受不同的折扣优惠,如下所示: 问题是 ...

最新文章

  1. dos与ddos攻击原理
  2. golomb哥伦布编码——本质上就是通过0来区分商和余数
  3. linux 内存显示括号内字母的含义
  4. 常用计算机网络技术缩写词和术语,网络技术缩写词和术语
  5. OpenStack 之Nova添加扩展API流程,附带资源的查找功能
  6. JavaScript 随意整理2
  7. 存储过程排版工具_安利一款比Evernote更为实用的云笔记工具,不容错过
  8. VMware下的ubuntu12.04不识别usb设备问题的解决方法
  9. 新年到!充满年味的海报给你参考
  10. Elasticsearch 技术分析(七): Elasticsearch 的性能优化
  11. 手写 Object.create
  12. python办公软件教程书籍_针对office办公软件初学者有什么推荐书籍?
  13. eoLinker-API_Shop_知识类API调用的代码示例合集:驾考题库、ISBN书号查询、万年历查询等...
  14. 无线WAPI网络AS鉴权服务器,WAPI是什么意思?苹果iPhone手机启用WAPI有什么作用?...
  15. IOS AES加密/解密
  16. 第2篇:Python 基础语法
  17. 关于nohup,sh,命令执行xxx.sh脚本的区别
  18. 应急响应--windows主机入侵排查思路
  19. 【uniapp】 两种上拉加载方式
  20. INT201 决策,计算,语言 笔记

热门文章

  1. fastjson 输出null值字段
  2. 【MySQL】日期函数:仿trunc、当年、当月、当天
  3. 【SSL】【Apache】 配置 https/ssl
  4. 【若依(ruoyi)】swagger 接口 @ApiModelProperty 添加枚举值说明
  5. 【sprinb-boot】配置文件分离打包
  6. tomcat错误: javax.management.MalformedObjectNameException: Invalid character ':' in value part of prop
  7. Git 忽略提交 .gitignore
  8. 深入理解javascript原型和闭包(18)——补充:上下文环境和作用域的关系
  9. 2022 年是 Linux 桌面年吗?
  10. Visual Studio Code的Issue列表被黑产“攻陷”