• 购买图书


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

                                      本数                    折扣

                                       2                       5%

                                       3                       10%

                                       4                       20%

                                       5                       25%

    根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。
    设计算法能够计算出读者购买一批书的最低价格。
     
    解决思路:
     
    6本时:1本+5本最优;
    7本时:2本+5本最优;
    8本时:4本+4本最优;
    9本时:4本+5本最优。
    买10本时选择“5+5”,优惠价格为20;当购买价格超过10本时,根据规律发现,选择10本十本买,最后根据1-10的本数选择最优惠方法就能求得最为优惠价格。
     
    源代码:
     1 #include<iostream>
     2 using namespace std;
     3 
     4 void TheCheapestPrice(int number)
     5 {
     6     int count = 0;
     7     double price;     //10本以内的优惠价格 
     8     double sum;
     9     count = number / 10;
    10 
    11     switch (number % 10)
    12     {
    13     case 0:price = 0; break;
    14     case 1:price = 0; break;
    15     case 2:price = 0.8; break;
    16     case 3:price = 2.4; break;
    17     case 4:price = 6.4; break;
    18     case 5:price = 10; break;
    19     case 6:price = 10; break;
    20     case 7:price = 10.8; break;
    21     case 8:price = 12.8; break;
    22     case 9:price = 16.4; break;
    23     }
    24 
    25     sum = number * 8 - count * 20 - price;//总价格减去优惠价格
    26     cout << "最低价格为: " << sum<<endl;
    27 }
    28 
    29 int main()
    30 {
    31     int Book_Num = 0;
    32     cout << "请输入需要购买的书籍数量: ";
    33     cin >> Book_Num;
    34     TheCheapestPrice(Book_Num);
    35     return 0;
    36 }
    结果截图:
     
  • 相关阅读:
    为什么hive表有数据,但count(*)返回0
    数仓建设时,要建历史表,用于保存历史数据,用于日后出问题时,起修复数据的作用。按日期分区,每天都把所有的数据存到当天的分区里
    get_json_object用以获取json类型的字段的值
    str_to_map语句,字符串类型变map类型
    按更新时间取最新记录
    hive临时表
    数仓分层
    次日留存、七日留存
    转义
    数据库三范式
  • 原文地址:https://www.cnblogs.com/X-knight/p/5557900.html
Copyright © 2020-2023  润新知