买书本

实验题目

每本是8块钱
买不同的书可以有优惠
1    0    
2    5%
3    10%
4    20%
5    25%
购买N本书,最少可花多少钱?

实验思想

下为购买不同书的最佳购买方案。
1   8        Price
2   15.2     Price*2*(1-0.05)
3   21.6     Price*3*(1-0.1)
4   25.6     Price*4*(1-0.2)
5   30       Price*5*(1-0.25)
6 可为 1,5(38)     2,4(40.6)  3,3(43.2)
7 可为 2,5(35.2)   3,4(47.2) 
8 可为 3,5(51.6)   4,4(51.2)
9 可为 4,5(55.6)
10可为 5,5(60)

11以后与1-10 方案大致相同

实验代码

 1 #include <iostream>
 2 using namespace std;
 3 #define Price 8
 4 void main()
 5 {
 6     int Num;   //购买的
 7     cout<<"请输入购买的数量:";
 8     cin>>Num;
 9     if(Num<=0)
10     {
11         cout<<"输入错误,请输入大于0的数。";
12     }
13     else
14     {
15         cout<<"最佳购买方案为:"<<endl;
16         double Sum=0;  //需要的钱数
17         if(Num%10==8) //判断除10余数为8的话,则为商*(Price*5*(1-0.25)*2)+ (Price*5*(1-0.25)+Price*3*(1-0.1))   8为(4+4)
18         {
19             Sum+=Num/10*Price*5*(1-0.25)*2+Price*4*(1-0.2)+Price*4*(1-0.2);
20             if(Num/10!=0)
21             {
22                 cout<<"买"<<Num/10*2<<"个5本,";
23             }
24             cout<<"2个4本"<<endl;
25             cout<<"最少可花的钱为:"<<Sum<<endl;
26         }
27         else
28        {
29             Sum+=Num/5*Price*5*(1-0.25);
30             if(Num/5!=0)
31             {
32                 cout<<"买"<<Num/5<<"个5本"<<endl;
33             }
34             else if(Num%5!=0)
35             {
36                 cout<<"1个"<<Num%5<<"本"<<endl;
37             }
38             switch(Num%5)
39             {
40             case 1:
41                 Sum+=Price;
42                 break;
43             case 2:
44                 Sum+=Price*2*(1-0.05);
45                 break;
46             case 3:
47                 Sum+=Price*3*(1-0.1);
48                 break;
49             case 4:
50                 Sum+=Price*4*(1-0.2);
51                 break;
52             case 5:
53                 Sum+=Price*5*(1-0.25);
54                 break;
55             }
56             cout<<"最少可花的钱为:"<<Sum<<endl;
57         }
58     }
59 }

实验截图

时间: 2024-10-07 07:07:02

买书本的相关文章

课堂练习——书店折扣问题

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

果然书本上的利率表是错误的

书本 <PHP与MySQL 5程序设计>(第2版)例子 amortizationTable,代码清单4-1 & 代码清单4-2, 昨晚自己对着课本打了一遍没写对,因为只打印了一行, 今天重新对了一遍,发现很多变量写错了,都写成未初始化的变量了,即都是数0了: 用的是Visual Code编辑器,但是没有像Java /C /C++强类型语言一样,“未定义”的变量 没有任何的提示: 后来,都改好了,发现前10条数据一个对不上,就是每个月应该还的数额不对:我算出的是 $1167.15,书本上

Spring整合hibernate的一个例子:用事务买书

jar包: 基本的文件框架: 1.首先配置jdbc的连接数据,也就是db.properties 此处注意在url上,这里不是xml文件,不需要加上amp.用一个问号就可以 1 2 3 4 user=root password= driverClass=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/spring001?useUnicode=true&characterEncoding=UTF-8 2.在    spring-config

创业中,感受书本和现实的距离——北漂18年(16)

书到用时方恨少,事非经过不知难.创业时,你才会发现书本上的知识和现实的距离,那真是一个远. 会计管理 1995年,我大专读的是国际贸易,有会计这门课.当时有亲戚开公司,我平生第一次可以把所学运用到实践之中,于是学的格外卖力,得了97分.后来帮亲戚做过几次账,还发现过分路中的一些小错误,好像有关费用走向--其实怎么写都可以.之前在冯姐公司每月会外包个会计,几百块钱,现在类似服务还是有.我平时就是记下库存情况,更像是库管.进货价格,冯姐自然是不会让下面人知道的,这样就算不出她的利润. 待到我自己创业

买面包与IoC

今天早上准备去一个阿姨那里买面包.可能是因为她的规模不大,因此管理不太规范化,因此去买面包时,没有人排队,即使都是大学生,似乎也没这个意识... 但让我感到震惊的是,虽然没有排队,但阿姨似乎可以保证我们买面包的公平性.方法是去买面包的人,谁先叫买什么,阿姨就会先卖给谁.不管你后来来买的人叫得都么宏亮, 阿姨都会先卖给先叫的人.阿姨把每个人的顺序都记住了,然后按这个顺序给我们卖面包. 对于这种方式,我个人是不赞同的.首先是如果人多了,阿姨可能就会很麻烦.其次,这种方式容易导致客户不满的情绪.因为"

动态规划——买书问题

转载自CSDN 朱超迪,链接:http://blog.csdn.net/q623702748/article/details/51592427 在朱超迪的原代码上做了一些修改 问题描述:         在节假日的时候,书店一般都会做促销活动.由于<哈利波特>系列相当畅销,店长决定通过促销活动来回馈读者.上柜的<哈利波特>平装本系列中,一共有五卷.假设每一卷单独销售均需8欧元.如果读者一次购买不同的两卷,就可以扣除5%的费用,三卷则更多.假设具体折扣的情况如下: 本数     折扣

编程之美之买书问题

拿到这个问题,我的第一反应是用贪心算法,优先满足不同种类多的,这样打的折扣比价多.但是,看了书中的分析发现,* 我们设定的贪心策略实际上是有问题的, ie 在买 5 + 3 本的时候会出错. 看到这里,书上说可以利用改进的贪心算法,感觉如果换了相应的折扣数量,可能又会有不同的结果了.因而,没有深入的研究下去. 既然,贪心算法不可行,那就用动态规划呗. 这里的动态规划思路很简单不过写起来有些复杂.我们这里用到了5维数组, 光是init 就写了好多. 其实我在写的时候,就在想有什么简单一点的方法可以

队列练习--排队买饭

题目描述 中午买饭的人特多,食堂真是太拥挤了,买个饭费劲,理工大的小孩还是很聪明的,直接奔政通超市,哈哈,确实,政通超市里面也卖饭,有好几种菜,做的比食堂好吃多了,价格也不比食堂贵,并且买菜就送豆浆,吸引了不少童鞋.所以有时吧,人还是很多的,排队是免不了的,悲剧的是超市只有两个收银窗口. 问题是这样的:开始有两队人在排队,现在咱们只研究第一队,现在我们给每个人一个编号,保证编号各不相同,排在前面的人买完饭就走了,有些人挑完饭就排在后面等待付款,还有一些人比较聪明,看到另一个队人比较少,直接离开这

所有橘子都有蛆虫,类似埃博拉病毒,大家最近不要买橘子,紧急通知!!

所有橘子都有蛆虫,类似埃博拉病毒,大家最近不要买橘子,紧急通知!!