关于QQ红包随机生成,如何生成,什么时候抢红包比较划算。
比如QQ发一个拼手气红包,总金额为20元,7个人分。
当时简单想法是,随机出一个金额,下次总金额减去随机金额再进行随机。
但是最后金额可能会超出总金额,造成不够分的情况。
而加了很多限制条件也会造成红包看起来不是那么随机,
而是越往后面领取的红包越小。
- 下面代码的思路:
将每个红包设置一个期望值,期望值为红包的总金额/人数,
每个红包最大金额是:期望值的两倍 。
每个红包最小金额是:0.01 。
如此循环,前面的人如果抢到红包大于期望值,
在这后面抢红包的人期望值会变小。
随机出 “总人数 - 1“的红包数量,
剩下的所有金额则是最后一个红包。
package com.shine.m