• 买书问题


    1、题目及要求

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

                                  

    本数 折扣
    2 5%
    3 10%
    4 20%
    5 25%

     

    根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。设计算法能够计算出读者购买一批书的最低价格。
    2、实验思路
    通过对买书优惠找规律可得:
    当买的数量为1-5本时,肯定买不同的最便宜
    当买的数量为6时最优为,买一套+任意一本
    当买的数量为7时最优为:买一套+任意不同的两本
    当买的数量为8时最优为:不同的四本各买两本
    当买的数量为9时最优为:买一套+任意不同的四本
    当买的数量为10时最优为:买两套
    所以任意买的书的数量都可以除以时求余数,商部分则按两套来算,余部分则按1-10之间选择最优。
    3、实验代码
     
     1 #include<iostream>
     2 using namespace std;
     3 
     4 
     5 int main()
     6 {
     7     int x, a, b;//x为买书的数量
     8     double num,num1;
     9     cout << "请输入书本数:";
    10     cin >> x;
    11     a = x / 10;
    12     b = x % 10;
    13     num1 = 10 * 8 * a  * (1 - 0.25);
    14     if (b == 0)
    15     {
    16         num = num1;
    17     }
    18     else if (b == 1)
    19     {
    20         num = num1 + 8;
    21     }
    22     else if (b == 2)
    23     {
    24         num = num1 + 2 * 8 *(1-0.05);
    25     }
    26     else if (b == 3)
    27     {
    28         num = num1 + 3 * 8*(1 - 0.1);
    29     }
    30     else if (b == 4)
    31     {
    32         num = num1 + 4 * 8*(1 - 0.2);
    33     }
    34     else if (b == 5)
    35     {
    36         num = num1 + 5 * 8*(1 - 0.25);
    37     }
    38     else if (b == 6)
    39     {
    40         num = num1 +30+ 8;
    41     }
    42     else if (b == 7)
    43     {
    44         num = num1+30 + 2 * 8*(1 - 0.05);
    45     }
    46     else if (b == 8)
    47     {
    48         num = num1 + 8 * 8 * (1-0.2);
    49     }
    50     else if (b == 9)
    51     {
    52         num = num1 + 30 + 4* 8 * (1-0.2);
    53     }
    54     cout << "读者购买这批书的最低价格为:" << num<<endl;
    55     return 0;
    56 }
    View Code

    4、实验截图

    5、时间记录日志(单位:h):

    日期 开始时间 结束时间 中断时间(min) 净时间(min) 活动 备注
    星期一 14:00 15:50 10(课间) 100 听课 软件工程
    星期三 15:00 17:00 10(休息) 120 看书 人月神话
    星期四 14:00 15:50 10(课间) 100 上机 买书问题
    星期五 18:30 19:10 10(休息) 30 编程发博客 买书问题
  • 相关阅读:
    团队项目-选题报告
    图论3-分层图最短路
    图论2-次短路计数
    图论1-k短路
    noi online 提高组t2冒泡排序
    图和树
    搜索(bfs)
    搜索(dfs)
    笔记
    打工
  • 原文地址:https://www.cnblogs.com/zz0906/p/5557326.html
Copyright © 2020-2023  润新知