码迷,mamicode.com
首页 > 其他好文 > 详细

买书本

时间:2016-05-31 10:28:04      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

实验题目

每本是8块钱
买不同的书可以有优惠
1    0    
2    5%
3    10%
4    20%
5    25%
购买N本书,最少可花多少钱?

实验思想

下为购买不同书的最佳购买方案。
1   8        Price
2   15.2     Price*2*(1-0.05)
3   21.6     Price*3*(1-0.1)
4   25.6     Price*4*(1-0.2)
5   30       Price*5*(1-0.25)
6 可为 1,5(38)     2,4(40.6)  3,3(43.2)
7 可为 2,5(35.2)   3,4(47.2) 
8 可为 3,5(51.6)   4,4(51.2)
9 可为 4,5(55.6)
10可为 5,5(60)

11以后与1-10 方案大致相同

实验代码

 1 #include <iostream>
 2 using namespace std;
 3 #define Price 8
 4 void main()
 5 {
 6     int Num;   //购买的
 7     cout<<"请输入购买的数量:";
 8     cin>>Num;
 9     if(Num<=0)
10     {
11         cout<<"输入错误,请输入大于0的数。";
12     }
13     else
14     {
15         cout<<"最佳购买方案为:"<<endl;
16         double Sum=0;  //需要的钱数
17         if(Num%10==8) //判断除10余数为8的话,则为商*(Price*5*(1-0.25)*2)+ (Price*5*(1-0.25)+Price*3*(1-0.1))   8为(4+4)
18         {
19             Sum+=Num/10*Price*5*(1-0.25)*2+Price*4*(1-0.2)+Price*4*(1-0.2);
20             if(Num/10!=0)
21             {
22                 cout<<""<<Num/10*2<<"个5本,";
23             }
24             cout<<"2个4本"<<endl;
25             cout<<"最少可花的钱为:"<<Sum<<endl;
26         }
27         else
28        {
29             Sum+=Num/5*Price*5*(1-0.25);
30             if(Num/5!=0)
31             {
32                 cout<<""<<Num/5<<"个5本"<<endl;
33             }
34             else if(Num%5!=0)
35             {
36                 cout<<"1个"<<Num%5<<""<<endl;
37             }
38             switch(Num%5)    
39             {
40             case 1:
41                 Sum+=Price;
42                 break;
43             case 2:
44                 Sum+=Price*2*(1-0.05);
45                 break;
46             case 3:
47                 Sum+=Price*3*(1-0.1);
48                 break;
49             case 4:
50                 Sum+=Price*4*(1-0.2);
51                 break;
52             case 5:
53                 Sum+=Price*5*(1-0.25);
54                 break;
55             }
56             cout<<"最少可花的钱为:"<<Sum<<endl;
57         }
58     }
59 }

实验截图

技术分享

技术分享

买书本

标签:

原文地址:http://www.cnblogs.com/L-Damon-v/p/5544859.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!