码迷,mamicode.com
首页 > 编程语言 > 详细

买哈利波特书算法

时间:2016-06-06 13:57:24      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:

一:题目要求

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

本数

折扣

2

5%

3

10%

4

20%

5

25%

根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。

设计算法能够计算出读者购买一批书的最低价格。

要求将设计思想、代码实现、实现截图、个人总结以博文的形式发表。

二:设计思想

首先买5本以内肯定是全部购买最优,然后计算买6-10本,找出最优的买书算法,最优算法为:

        本数:    买书方法    优惠价格

         6本            5+1      30+8=38

         7本      5+2      30+15.2=45.2

         8本      4+4      25.6*2=51.2

         9本      5+4      30+25.6=55.6

        10本      5+5     30*2=60

所以将需要买的书除以10,然后余数是几,就按几本的方法去买,最后相加就是最优的买书算法。

代码:

 1 //买书最优算法
 2 //2016.5.31
 3 //纪烈翔
 4 #include<iostream>
 5 using namespace std;
 6 
 7 int main()
 8 {
 9     int num,num_zheng,num_yu;
10     double price;
11     cout << "请输入买书的 数量:" << endl;
12     cin >> num;
13     num_zheng = num / 10;
14     num_yu = num % 10;
15     price = 60 * num_zheng;
16     switch (num_yu)
17     {
18     case 1:
19         price += 8;
20         break;
21     case 2:
22         price += 15.2;
23         break;
24     case 3:
25         price += 21.6;
26         break;
27     case 4:
28         price += 25.6;
29         break;
30     case 5:
31         price += 30;
32         break;
33     case 6:
34         price += 38;//5+1
35         break;
36     case 7:
37         price += 45.2;//5+2
38         break;
39     case 8:
40         price += 51.2;//4+4(特殊)
41         break;
42     case 9:
43         price += 55.6;//5+4
44         break;
45     }
46     num_zheng = num / 5;
47     num_yu = num % 5;
48     if (num_yu == 3&&num_zheng>0)//当除以5余数为3时是特殊情况
49     {
50         cout << "买书方法为:先整套购买" << num_zheng-1 << "套,再购买两套,每套随意4本不同的书。总共的价格为:" << price << endl;
51     }
52     else
53     {
54         cout << "买书方法为:先整套购买" << num_zheng << "套,再随意购"<<num_yu<<"本不同的书。总共的价格为:" << price << endl;
55     }
56 }

 测试用例1:

技术分享

测试用例2:

技术分享

测试用例3:

技术分享

测试用例4:

技术分享

测试用例5:

技术分享

实验总结:

这次的实验题目比较简单,外加老师在课上得指点,算出前10种情况后,后面的就都有规律了,总体来说还是比较简单的。

买哈利波特书算法

标签:

原文地址:http://www.cnblogs.com/qwer113/p/5563508.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!