关于《哈利波特》书的购买方案

设计思路:

  

  通过计算发现,购买时只需按(x*5+y)(0<y<5),x套5本另外买y本(0<y<5)时价格最低,但是其中有一个列外,在x*5+2*4的情况这,按x套5本,2套4本购买比x套5本另外买y本便宜。所以便可以通过情况分析编程。

程序代码:  

 1 #include <iostream>
 2 using namespace std;
 3
 4 void main()
 5 {
 6     int x;
 7     cout << "请输入要购买的本数:" << endl;
 8     cin >> x;
 9
10     int i;
11     i = x/5;
12
13     if (x < 5)
14     {
15         switch(x)
16         {
17         case 1:
18             cout << "买1本书最低价格为8元"<< endl;
19             break;
20         case 2:
21             cout << "买2本书最低价格为" << x*8*0.95 << "元"<< endl;
22             break;
23         case 3:
24             cout << "买3本书最低价格为" << x*8*0.9 << "元"<< endl;
25             break;
26         case 4:
27             cout << "买4本书最低价格为" << x*8*0.8 << "元"<< endl;
28         }
29     }
30     else{
31         switch(x%5)
32         {
33         case 0:
34             cout << "买" << i << "套5本的" << endl;
35             cout << "最低价格为:" << i*8*5*0.75<< endl;
36             break;
37         case 1:
38             cout << "买" << i << "套5本的" << endl;
39             cout << "外加" << x%5 << "本" << endl;
40             cout << "最低价格为:" << i*8*5*0.75 + (x%5)*8<< endl;
41             break;
42         case 2:
43             cout << "买" << i << "套5本的" << endl;
44             cout << "外加" << x%5 << "本" << endl;
45             cout << "最低价格为:" << i*8*5*0.75 + (x%5)*8*0.95 << endl;
46             break;
47         case 3:
48             cout << "买" << i-1 << "套5本的" << endl;
49             cout << "外加2套4本" << endl;
50             cout << "最低价格为:" << (i-1)*8*5*0.75 + 2*4*8*0.8 << endl;
51             break;
52         case 4:
53             cout << "买" << i << "套5本的" << endl;
54             cout << "外加" << x%5 << "本" << endl;
55             cout << "最低价格为:" << i*8*5*0.75 + (x%5)*8*0.8 << endl;
56         }
57     }
58 }

结果截图:

个人总结:

  这道题挺简单的,但是怎样更简单的做出来才是最好的。通过分析,最后选择了这个方法。感觉还是这样简单。

时间: 2024-10-27 06:49:07

关于《哈利波特》书的购买方案的相关文章

企业服务器购买方案

服务器对企业的发展有着至关重要的作用,无论是前期的服务器租用,还是在后期提出的服务器购买方案,都表明了服务器的重要性. 但是现在市场上的服务器纷乱复杂,各种品牌,各种型号充斥在市场上,这让服务器采购的难度大幅度提高了. 为了方便企业客户选购服务器,九河网特意为企业客户整理出服务器购买方案. 首先要选择值得信赖的品牌. 对于企业而言,服务器是非常重要的硬件,也是架构企业数据中心的基础设备. 所以在购买服务器的时候,应该选择比较知名的品牌,比如戴尔,华为,美超微等品牌. 毕竟这些品牌在质量上是有保障

储存过程处理双色球购买方案保证只赚不亏

--本人先说一下自己购买方案,同意的请赞成. --我们知道双色球是6+1模式,6就是从33个红球中选6个红球,而1就是从后面16个蓝球中选一个,同时我们也知道只要后面那个蓝球中奖了就可以获得5元. --而我们知道蓝球中奖得概率是1/16,只要我们随便选择1~16号中任意一个蓝球,购买16次总会有一次中奖(如果没中那就加几次,20次咯), --现在从这里开始就是购买方式了,第一次我们买2块,中奖了就获得5块,没中奖,我们第二次还是买2块,中奖了获得5块(总投入4块钱),然后又重新开始买,又从 --

哈利波特购买方案

#include<iostream> using namespace std; int main() { int a,b; while(true) { cout<<"请输入想要购买的本数:"<<endl; cin>>a; b=a%10; if(b>5) { if(b==8) cout<<"整套购买"<<(a/10)*2<<"套"<<endl<

买哈利波特书算法

一:题目要求 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数 折扣 2 5% 3 10% 4 20% 5 25% 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠. 设计算法能够计算出读者购买一批书的最低价格. 要求将设计思想.代码实现.实现截图.个人总结以博文的形式发表. 二:设计思想 首先买5本以内肯定是

买书最优

一.题目要求 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数                  折扣 2                       5% 3                       10% 4                       20% 5                       25% 要求: 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购

(动态规划)6049:买书

描述 小明手里有n元钱全部用来买书,书的价格为10元,20元,50元,100元. 问小明有多少种买书方案?(每种书可购买多本) 输入 一个整数 n,代表总共钱数.(0 <= n <= 1000) 输出 一个整数,代表选择方案种类 样例输入 样例输入1:20 样例输入2:15 样例输入3:0 样例输出 样例输出1:2 样例输出2:0 样例输出3:0 我の代码 #include <iostream> int pri[5]; int dp[1001]; using namespace s

算法-书的最低价格

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

哈利波特书价问题

题目要求: 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元,具体折扣如下所示: 本数                  折扣 2                       5% 3                       10% 4                       20% 5                       25% 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷1

最少的钱买书

题目一:买书 有一书店引进了一套书,共有3卷,每卷书定价是60元,书店为了搞促销,推出一个活动,活动如下: 如果单独购买其中一卷,那么可以打9.5折. 如果同时购买两卷不同的,那么可以打9折. 如果同时购买三卷不同的,那么可以打8.5折. 如果小明希望购买第1卷x本,第2卷y本,第3卷z本,那么至少需要多少钱呢?(x.y.z为三个已知整数). 当然,这道题完全可以不用动态规划来解,但是现在我们是要学习动态规划,因此请想想如何用动态规划来做? 答案: 1.过程为一次一次的购买,每一次购买也许只买一