参考微信红包的抢红包算法

Jie 2017/09/27

每笔订单的实际返现金额作为红包,最多可抢N轮:
1) 设订单实际金额S,返现比率最小值min(%),返现比率最大值max(%);首次返现比率固定值F(%),最小返现比率B(%);比率精度固定值P
2) 订单返现比率R = ROUND(min+RAND()*(max-min),P);返现总金额 = S*R
3) 首轮红包金额 = S*B
4) 第2 ~ N-1轮实际返现比率计算方法:
先求出本轮剩余返现比率 = ROUND(上轮剩余返现比率-上轮实际返现比率,P),再求出本轮剩余平均值比率 = ROUND((上轮剩余返现比率-上轮实际返现比率)/剩余轮数,P),
则本轮实际返现比率 = ROUND(B+RAND()*(本轮剩余返现比率-本轮剩余平均值比率-B),P),本轮红包金额 = S*本轮实际返现比率
5) 第N轮(最后一轮)的实际返现比率 = 最后一轮的剩余返现比率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值