任务:

书店针对《哈利波特》系列书籍进行促销活动,一共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. windows内核Api的学习

    windows内核api就是ntoskrnl.exe导出的函数.我们能够跟调用应用层的api一样,调用内核api. 只是内核api须要注意的是.假设函数导出了.而且函数文档化(也就是能够直接在msdn ...

  2. [2012山东ACM省赛] Pick apples (贪心,全然背包,枚举)

    Pick apples Time Limit: 1000MS Memory limit: 165536K 题目描写叙述 Once ago, there is a mystery yard which ...

  3. ArrayProxy-Emberjs

    ember 2.18版本API翻译之Ember.ArrayProxy import ArrayProxy from '@ember/array/proxy'; ArrayProxy(数组代理)包装实现 ...

  4. java crm 进销存 springmvc SSM 项目 源码 系统

    系统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3  SSM ...

  5. 时间序列深度学习:状态 LSTM 模型预测太阳黑子

    目录 时间序列深度学习:状态 LSTM 模型预测太阳黑子 教程概览 商业应用 长短期记忆(LSTM)模型 太阳黑子数据集 构建 LSTM 模型预测太阳黑子 1 若干相关包 2 数据 3 探索性数据分析 ...

  6. JavaWeb基础—Servlet

    一.Servlet是什么 是服务器上运行的Java小应用程序,并被称为JavaWeb三大组件之一 通常我们把实现了Servlet的类,称之为Servlet Servlet作用主要是 1.接收请求数据 ...

  7. 【python】Selenium隐藏控制台解决办法

    一.起因: 使用selenium 驱动浏览器的时候,如果使用headless模式,会有dos窗口弹出,输出监听信息,有时不想看到,很是麻烦. 二.解决办法: 修改源码:Lib \ site-packa ...

  8. mfc 类对象指针

    类对象指针 一.类对象指针定义 Tdate d1; Tdate *p1=&d1; Tdate *p2=(Tdate *)malloc(sizeof(Tdate)); 二.类对象指针使用 int ...

  9. jQuery学习-事件绑定

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. 【转载】OCX和DLL的区别

    原文:http://blog.csdn.net/scucj/article/details/852181 一.关于DLL的介绍      DLL,动态链接库,Dynamic Link Library的 ...