应用场景:京东,淘宝等双十一活动多多,送券,满多少送多少等买很多物品后,再使用优惠券等,不同的下单方式都会有不同的实惠。
比如现有下面的活动,图书狂欢节,每满100减50。结算时还可以使用优惠券。现有两张现金结算券,一张是满300减100(券1),一张是满150减50(券2)。用户希望购买下面的书单。
《书1》价格 175
《书2》价格 22.6
《书3》价格 37.5
《书4》价格 65.6
《书5》价格 160.9
《书6》价格 84.6
《书7》价格 355.8
总计: 902 元。
如果
只下一单的话,那么需要支付为 902 - (902/100)*50 = 452元。1)如果使用券1,则需要额外付452-100 = 352, 2)如果使用券2,则额外付款 452-50 =402元。
请问如何下单才能在使用现金支付最少的情况下将这几本书都买入?最少支付多少现金?
思路:
首先计算出不使用优惠券的情况下商品总额 452.
以及单买每件商品需要多少钱:
合计 652. 合计(75+22.6+37.5+65.6+60.9+84.6+55.8=402)元没有享受优惠,可以享受200元优惠。
凑单的原则就是享受的优惠最大化。
首先排序?
22.6 < 37.5 < 65.8 < 84.6 < 160.9 < 175 < 355.8
如果不考虑优惠券的情况下,确保没有享受优惠的额度最少
如果考虑优惠券的情况下,希望
1.最划算的那张优惠券被使用掉了。
使用某张优惠券时,也希望没享受优惠的那部分最少!
10, 20, 30, 40, 50, 60, 70, 80,90 (450) 满300减150 和满100减50
10,90,20,80,30,70 =300-150=150
40,60,50 =150 - 50 = 100
或
90,20,80,30,70 ,50 =340-150=190
40,60,10 = 110-50=60 (不能包邮,还需购物或者出额外的费用)
=190+60=250
未完待续