书店促销活动

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

本数                  折扣

2                    5%

3                    10%

4                    20%

5                    25%

根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。

设计算法能够计算出读者购买一批书的最低价格。

思路:

  如果书的数量是10的倍数,很容易看出,分成两套5本买是最便宜的,故只用考虑余下单本(1~9)的情况,并且1~5本的最低折扣题目也已经给出,则再分析6~9本的即可。

枚举出每一种情况:

(6本)

1本+5本:=38元(最低)

2本+4本:=40.8元

3本+3本:=43.2元

(7本)

2本+5本:=45.2元(最低)

3本+4本:=47.2元

(8本)

3本+5本:=51.6元

4本+4本:=51.2元(最低)

(9本)

4本+5本:=55.6元(最低)

可以看出,除了8本分成两个4本的组合最划算外,其他三个都是包含5本的组合。

源代码:

#include<iostream.h>
#define price 8

int main()
{
	int mount;		//购买书的数量
	double sum;		//最低价格
	int i,j;
	cout<<"How many books you want to buy: ";
	cin>>mount;
	i=mount/10;
	sum=i*10*price*(1-0.25);
	j=mount%10;
	switch(j)
	{
	case 0:
		sum=sum;
		break;
	case 1:
		sum=sum+price;
		break;
	case 2:
		sum=sum+j*price*(1-0.05);
		break;
	case 3:
		sum=sum+j*price*(1-0.1);
		break;
	case 4:
		sum=sum+j*price*(1-0.2);
		break;
	case 5:
		sum=sum+j*price*(1-0.25);
		break;
	case 6:
		sum=sum+5*price*(1-0.25)+price;
		break;
	case 7:
		sum=sum+5*price*(1-0.25)+2*price*(1-0.05);
		break;
	case 8:
		sum=sum+4*price*(1-0.2)*2;		//余8的情况特殊
		break;
	case 9:
		sum=sum+5*price*(1-0.25)+4*price*(1-0.2);
		break;
	}
	cout<<"the lower price: "<<sum<<endl;
}

运行结果:

总结:

  时隔一段时间,又继续做课堂练习了,还好没有手生。

  分析题目,首先想到的思路就是前面写到的,并没有考虑到什么算法,但是在折扣情况很多时还一一举出所有的分类肯定很麻烦,这要求从中找到规律,设计一种适用的算法。课堂上,听了几个同学的发言,对其中一个同学的算法印象很深,同样是考虑余下单本的情况折扣率。2本(0.1)、3本(0.3)、4本(0.8)、5本(1.25),看组合和最大则取之。比自己考虑的存在特殊情况,而这种方法不会存在特里。

  多发现自己与他人的不同,分析过程,找到不足。

时间: 2024-08-02 17:36:59

书店促销活动的相关文章

书店促销问题

1.题目: 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3. 4表示,单独一卷售价8元, 具体折扣如下所示: 本数                    折扣 2                       5% 3                       10% 4                       20% 5                       25% 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个 折扣规则,例如购买

系列书籍进行促销活动

  一题目: 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数                  折扣 2                     5% 3                     10% 4                     20% 5                     25% 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,

书籍促销活动优惠问题

一.题目 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示:                               本数                  折扣                                   2                       5%                                   3                       10%        

哈利波特书店促销

一.题目要求          书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示:                                本数                  折扣                                    2                       5%                                    3                    

书店促销优惠

一.题目 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示:                               本数                  折扣                                   2                       5%                                   3                       10%        

从电商平台促销活动看电商app开发趋势

据亿合科技小编了解到:尽管各大电商平台都进入了品质和品牌时代,但对于消费者来说,低价依然是一个有吸引力的因素.尼尔森<网络购物者趋势研究>报告显示,2016年价格敏感型购物者的比例从15%上升至19%.网店产品低价对购物的影响大幅提升,从去年的42%跃至今年的61%,可见进行电商app开发也是趋之所向,电商促销活动版块的功能更受用户喜欢,这样创造出更受用户喜爱的app网购平台,从而实现利益的转化.能开发提供更多促销活动的电商app显然更具开发优势,常用的促销开发功能形式有优惠券.满多少减多少.

程序猿也敢谈业务●促销活动

本文主要就促销活动的几大要素做出阐述 参与条件: 足量.单次购买商品达到指定数量可享受优惠: 足金额.单次购买商品总价达到指定金额可享受优惠: 优惠方式: 从优惠品属性来看,分实物(赠品).虚拟资产(优惠券.积分.x豆...).金钱: 从时间维度来看,分下单时.交易完成时: 总得说来,促销有以下几种优惠方式: a. 满减:   b. 满折:  c. 特价: d. 立减:(下单时 -- 金钱) e. 满赠:(下单时 -- 实物) f. 返券:  g. 返现:   h. 返积分:(完成时 -- 虚拟

二、策略模式-商场促销活动

以商场收银为例,理解并实践"策略模式". 简单商场促销活动描述:营业员提供商品单价.数量.商场目前的活动(满减.打折等),计算用户最终需要支付的金额. 一.面向过程的实现方式 1 package secondStrategy; 2 import java.text.DecimalFormat; 3 public class StrategyTest { 4 public static void main(String[] args) { 5 // 营业员提供信息 6 double to

RAKsmart美国服务器推出十月促销活动

最近知名美国主机商RAKsmart为回馈广大用户长期以来的支持,推出十月促销活动,主要以服务器为主,包括关注较高的美国站群服务器.美国G口服务器等多种方案均有相应的折扣,优惠力度还是很大的,下面就带大家了解一下. 美国站群服务器优惠低至197.8 美元 现在促销的L5630.E3-1230.E5-2620方案采用大陆优化线路,均可增加至258个独立IP,完全可以满足用户对多独立IP美国站群服务器租用需求,该三种方案的硬件配置情况如下: L5630,双CPU,16G内存,1T SSD,5+253I