任务:

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

2         5%

3        10%

4        20%

5        25%

根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。 设计算法能够计算出读者购买一批书的最低价格。 要求将设计思想、代码实现、实现截图、个人总结以博文的形式发表。(截止日期2015-5-12晚18:00)

1.设计思想:这是一道很经典的数学题,感觉很像奥林匹克那种竞赛题,所以只要做出把数学题算出来就可以很容易的编程实现了。首先,假设要购买N本书,购买1-5本书时,是购买N本为最低价;

根据规律,可以得出N>9时  ,当N除以10所得余数为8时,最低价情况是N/10组5本书,两组4本书的组合;余数不为8时,最低价情况就是N/5组5本书,一组N%5本书的组合。然后根据这个规律把程序写出来即可。

2.源代码:

#include<iostream>
using namespace std; void main()
{
int n;
cout << "请输入购买数量:" << endl;
cin >> n; double price;
int i = n % ;
switch (i)
{
case :
price = n * * 0.75;
cout << "最低价是购买" << n / << "套整5卷书";
break;
case :
price = (n - ) * * 0.75 + ;
cout << "最低价是购买" << (n - ) / << "套整5卷书和五卷书中任意一本。" << endl;
break;
case :
price = (n - ) * * 0.75 + * * 0.95;
cout << "最低价是购买" << (n - ) / << "套整5卷书和五卷书中任意两本。" << endl;
break;
case :
price = (n - ) * * 0.75 + * * 0.8 * ;
cout << "最低价是购买" << (n - ) / << "套整5卷书和两套任意四卷" << endl;
break;
case :
price = (n - ) * * 0.75 + * * 0.8;
cout << "最低价是购买" << (n - ) / << "套整5卷书,和五卷书中任意四本。" << endl;
break;
} cout << "最低价格是:" << price << endl;
}

3.实验截图:

4.实验总结:(1)有人说写程序就是在做数学题,这道题就是一个很典型的例子,只有当把这道题做出来的时候才能变成程序.

(2)写程序很重要的一点就是要敢于尝试,如果什么也不干就妄想写出什么是不可能的。

(3)要善于寻找事物的规律,开始的时候大家都没有仔细地分析运算,每个人都在抱怨这道题有多难、多复杂,可是在真正动手之后找到规律了才焕然大悟这题是有多简单。可见实践和动手是非常重要的。

Task 7 买书最低价格问题的更多相关文章

  1. 编程之美 set 11 买书问题

    题目 书店搞促销, 同时购买多卷书时, 有机会享受优惠 2本优惠 5%, 3本 10%, 4 本 20% 5 本 25% 设计算法, 求解购买一本书的最低价格 分析 1. 第一个感觉是一次购买的越多省 ...

  2. noi 6049 买书

    题目链接: http://noi.openjudge.cn/ch0206/6049/ 6049:买书 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 小明手里有n ...

  3. 计蒜客 买书 dfs

    题目: https://www.jisuanke.com/course/2291/182236 思路: 递归解决,从第一本书开始,每本书都有两种选择: //index是book里面每本书价格的下标, ...

  4. [openjudge-动态规划]买书

    题目描述 描述 小明手里有n元钱全部用来买书,书的价格为10元,20元,50元,100元.问小明有多少种买书方案?(每种书可购买多本) 输入 一个整数 n,代表总共钱数.(0 <= n < ...

  5. 想写个小说,关于C#的,名字就叫《原Csharp》吧 (第一回 买书未成炁自生 惶惶回屋遇老翁)

    以前也有写过一些小说,但是总是写写停停的,因为忙于项目和其他事情,总是耽搁很久(真的是很久)才会继续动两笔,所以我想先在这里以随笔的方式写个关于C#异世界的小故事吧,更新随缘,也稍微能让自己轻松些. ...

  6. spring整合hibernate之买书小测试

    spring来整合hibernate就是用spring来管理hibernate的sessionFactory和让hibernate来使用spring的声明式事务. 一:加入相应的jar包. 二:写hi ...

  7. 【noi 2.6_6049】买书(DP)

    题意:有N元,有无限多本10.20.50和100元的书,问有几种购买方案. 解法:f[i]表示用 i 元的方案数.还有一个 j 循环这次买多少元的书. 注意--要先 j 循环,再 i 循环.因为要先考 ...

  8. 【活动】不用买书,不用花钱,可以免费看HTML5入门连载了

    清华大学出版社推出的<HTML 5网页开发实例详解>适合HTML 5开发初学者和前端开发工程师.本书一经上市,就获得了读者的一致好评,为感谢读者,推出本书的连载活动.   本书术新颖.与时 ...

  9. 【双十一到了,准备买书了么?】推荐几本c/c++入手的书籍

    <C和指针>c语言的经典之作,全书共18章,覆盖了数据.语句.操作符和表达式.指针.函数.数组.字符串.结构和联合等几乎所有重要的C编程话题.而且每章后面都有基础回顾已经较多例程,很适合入 ...

随机推荐

  1. 【js】走近小程序(2) 常见问题总结

    一.API请求? 二.基础库兼容? 三.不同页面之间的传值   一.API请求? wx.request({ url: 'test.php', // 仅为示例,并非真实的接口地址 data: { x: ...

  2. #leetcode刷题之路48-旋转图像

    给定一个 n × n 的二维矩阵表示一个图像.将图像顺时针旋转 90 度.说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵.请不要使用另一个矩阵来旋转图像.示例 1:给定 matrix ...

  3. mysql8.0.15安装

    1. 官网下载mysql,此处下载的是.zip文件 2. 解压下载的文件夹,并且配置环境变量:Path : E:\mysql-8.0.15-winx64\bin 3. 配置my.ini文件 4. 以管 ...

  4. mac上ssh工具,包含简易的文件传输功能

    最近需要在mac上连ssh,但是之前在mac上用的都是简易的SSH Shell,没有找到传输文件的功能. 这时候就非常想念win上的winscp,有个界面,传点东西还是很直观的. 几经搜寻,终于找到一 ...

  5. mysql where语句多条件查询是and和or联合使用bug

    公司项目中有段功能是全局搜索框和下拉列表的联合查询,在联调开发中发现单独用下拉查询是正确的,单独用全局搜索框也是正确的,测试发现是sql语法有问题. 问题截图: 出现问题的核心还是在于搜索框是用于多个 ...

  6. Nginx基于TCP的负载均衡的配置例子

    原文:https://blog.csdn.net/bigtree_3721/article/details/72833955 nginx-1.9.0 已发布,该版本增加了 stream 模块用于一般的 ...

  7. PostgreSQL集群方案相关索引页

    磨砺技术珠矶,践行数据之道,追求卓越价值 返回顶级页:PostgreSQL索引页 本页记录所有本人所写的PostgreSQL的集群方案相关文摘和文章的链接: pgpool-II: 1 pgpool-I ...

  8. 24-[模块]-re

    1.引入re 请从以下文件里取出所有的手机号 姓名 地区 身高 体重 电话 况咏蜜 北京 171 48 13651054608 王心颜 上海 169 46 13813234424 马纤羽 深圳 173 ...

  9. CF 1138 F. Cooperative Game

    F. Cooperative Game 链接 题意: 有10个玩家,开始所有玩家在home处,每次可以让一些玩家沿着边前进一步,要求在3(t+c)步以内,到达终点. 分析: 很有意思的一道题.我们构造 ...

  10. 一个本地DNS解析和mysql授权导致的Mysq连接失败问题(Access denied for user 'loan'@'kfcsdb1' (using password: YES))

    web:/home/web/ -u loan -p loan Enter password: ERROR 1045 (28000): Access denied for user 'loan'@'kf ...