zoukankan      html  css  js  c++  java
  • Harrypotter

    #include<iostream>
    using namespace std;
    
    int main()
    {
        int count,x[5]={0};
        int a,b,c,d;
        cout<<"请输入总数:"<<endl;
        cin>>count;
        a=count/5;
        x[4]=a;
        b=count%5;
        x[b-1]=1;
    
            if(b==3&&b!=count)
            {
                /*a=a-1;
                x[4]=a;
                b=b+5;
                c=c-1;
                a=count/c;
                x[c-1]=a;
                b=count%c;
                x[b-1]=b;*/
    x[4]=x[4]-1;
    x[3]=x[3]+2;


    } cout
    <<"购买单本:"<<x[0]<<""<<endl; cout<<"购买两本:"<<x[1]<<""<<endl; cout<<"购买三本:"<<x[2]<<""<<endl; cout<<"购买四本:"<<x[3]<<""<<endl; cout<<"购买五本:"<<x[4]<<""<<endl; return 0; }

    注释:

    购买数量          1      2      3      4     5

    折扣率(%)    5     10     15    20    25     

    单本折扣(元)   0     0.4   0.8    1.6    2 

    购买数量              6       7        8      9       10    ……

    最优解               5+1    5+2   4+4   5+4   5+5   ……

    可知,买五本单本折扣最大,所以当购买数量小于等于5时,应该优先选择购买不同种类的书

    当购买数量大于5时,应该优先购买五本,可是当购买的的种类的之间距离相差超1时(例如:8=5+3,5-3=2),容易出现错误

    继续向下计算,发现大数的时候也是如此

    所以用总数count做整除,得到购买五本的数量,余数为购买其他数量的书的数

    当二者相差超过1时,商减1,购买5本数量少1,减小差距

  • 相关阅读:
    区块链技术的应用场景
    区块链快速了解
    区块链工作汇报部分问题
    区块链Fabric 交易流程
    maven配置settings.xml【阿里云】
    Java常用工具类整理
    程序员职业思考:从大数据到人工智能再到区块链
    Python实现图像信息隐藏
    Python直接控制鼠标键盘
    Mac使用Clion配置OpenGL
  • 原文地址:https://www.cnblogs.com/fooreveryu/p/5553486.html
Copyright © 2011-2022 走看看