zoukankan      html  css  js  c++  java
  • 最优购书方案的问题

    题目要求:

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

                                   本数                  折扣

                                    2                       5%

                                    3                       10%

                                    4                       20%

                                    5                       25%

    根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。
    设计算法能够计算出读者购买一批书的最低价格。

    设计思想:

    题目的关键是解决当购买6、7、8、9本时应如何购买。经计算
    6本时:1本+5本最优;
    7本时:2本+5本最优;
    8本时:4本+4本最优;
    9本时:4本+5本最优。
    1-5本时不用特殊考虑,其他本数时将其转换为6-9本的情况处理。即将本数对10求余,余数大于5则将求余结果带入6-9本情况中,同时计算减去余数后包含几个5;
    余数小于五则直接计算减去余数后包含几个5,再加上余数的买书计算结果。
     
     
    代码:
    #include<iostream>
    using namespace std;
     
    void main()
    {
    	int i,n,j;
    	double sum;
    	cout<<"请输入需要购买书的数量:";
    	cin>>i;
    
    	n=i/10;
    	j=i%10;
    
    	sum=n*60;
        switch(j)
    	{
    
    	case 1: { sum=sum+8; cout<<"可以分为"<<n*2<<"个5本,和"<<1<<"个1本"<<"价格最低为"<<sum<<endl;break;}
    
    	case 2: { sum=sum+15.2; cout<<"可以分为"<<n*2<<"个5本,和"<<1<<"个2本"<<"价格最低为"<<sum<<endl;break;}
    
            case 3: { sum=sum+21.6; cout<<"可以分为"<<n*2<<"个5本,和"<<1<<"个3本"<<"价格最低为"<<sum<<endl;break;}
    			
    	case 4: { sum=sum+25.6; cout<<"可以分为"<<n*2<<"个5本,和"<<1<<"个4本"<<"价格最低为"<<sum<<endl;break;}
    
    	case 5: { sum=sum+30; cout<<"可以分为"<<n*2+1<<"个5本"<<"价格最低为"<<sum<<endl;break;}
    
    	case 6: { sum=sum+38; cout<<"可以分为"<<n*2+1<<"个5本,和"<<1<<"个1本"<<"价格最低为"<<sum<<endl;break;}
    
    	case 7: { sum=sum+45.2; cout<<"可以分为"<<n*2+1<<"个5本,和"<<1<<"个2本"<<"价格最低为"<<sum<<endl;break;}
    
            case 8: { sum=sum+51.2; cout<<"可以分为"<<n*2<<"个5本,和"<<2<<"个4本"<<"价格最低为"<<sum<<endl;break;}
    
    	case 9: { sum=sum+55.6; cout<<"可以分为"<<n*2+1<<"个5本,和"<<1<<"个4本"<<"价格最低为"<<sum<<endl;break;}
    
    	case 0: { sum=sum; cout<<"可以分为"<<n*2<<"个5本"<<"价格最低为"<<sum<<endl;break;}
    
    	}
    
    }
    

    运行结果:

  • 相关阅读:
    Pydev Console中文提示乱码的问题
    pg_dump命令帮助信息
    Aptana下Django1.6以后的项目模板结构改造
    老外的项目开发在线服务网站资源
    淘宝技术交流笔记
    Python并发编程的几篇文章
    gevent程序员指南
    IOS UITableView拖动排序功能
    Codeforces 300A Array
    一次mysql优化经历
  • 原文地址:https://www.cnblogs.com/tyyhph/p/5543296.html
Copyright © 2011-2022 走看看