zoukankan      html  css  js  c++  java
  • 课堂作业买书

    购买一批书的最低价格

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

                                     本数                     折扣

                                       2                       5%

                                       3                       10%

                                       4                       20%

                                       5                       25%

    根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。
    设计算法能够计算出读者购买一批书的最低价格。
    设计思路:
       就是找规律,把它当作一个数学题目进行计算,已知买1-5本的折扣规律,然后进行接下去的运算,找出买每本时的最优方案,计算会发现,除了八本书时享受20%的优惠以外,8本为特殊情况,买两套四本的。
    #include<iostream>
    using namespace std;
    
    int main()
    {
       int booknum=0,x=0;             //booknum为书的数目,x是余数
       double money;                  //价钱
       cout<<"请输入图书的数量:";
       cin>>booknum;
    
       y=booknum%5;
    
       if(x==0)
         {                     //如果余数是一的话,就利用下面这个公示求最优解
           money=(booknum/5)*(5*8)*0.75;
         }
       else if(x==1)  
         {                     //如果余数十一
           money=(booknum-x)/5*(5*8)*0.75+x*8;
          }
       else if(x==2)
         {
           money=(booknum-x)/5*(5*8)*0.75+x*8*0.95;
          }
       else if(x==3)
         {
           if(booknum==3)
              money=21.6;
           else
              money=(booknum-8)/5*(5*8)*0.75+51.2;
          }
       else
           money=(booknum-x)/5*(5*8)*0.75+x*8*0.8;
    
       cout<<"最低价格是:"<<money<<endl;
    
       return 0;
    }

    体会:

    这种类似的有意思的数学题多动笔,多动脑,总归会解决的,不要怕费时间,完成之后的收获还是很大的。

  • 相关阅读:
    layaAir引擎制作游戏的图集动画、时间轴动画、和骨骼动画总结二
    layaAir引擎制作游戏的图集动画、时间轴动画、和骨骼动画总结一
    Flask 生成验证码 支持干扰线、噪点
    数组操作
    css_权威指南_选择符
    css权威指南_特指度
    *arg **kwargs
    一日一库—importlib
    一日一库—itertools
    FLask 流程图、上下文、上下文隔离原理
  • 原文地址:https://www.cnblogs.com/GloryYT/p/5563039.html
Copyright © 2011-2022 走看看