转自:http: www.cnblogs.com wicub p .html lt summary gt 生成红包数组 lt summary gt lt param name totalMoney gt 总金额 lt param gt lt param name perMax gt 最大金额 lt param gt lt param name perMin gt 最小金额 lt param gt ...
2017-01-17 19:20 0 2306 推荐指数:
前段时间做了一个笔试题,觉得很有意思,特此记录下来。 题目如下 //题目:请编写一个红包随机算法。需求为:给定一定的金额,一定的人数,保证每个人都能随机获得一定的金额。 //比如100元的红包,10个人抢,每人分得一些金额。 //约束条件为,最佳手气金额不能超过最大金额的90%,每人都有 ...
...
微信红包的分配算法,在知乎上已经有人讨论过了,详见《微信红包的随机算法是怎样实现的?》。基本的原则是:红包分配的钱数满足截尾正态随机数分布。 大致为在截尾正态分布中取随机数,并用其求和数除以总价值,获得修正因子,再用修正因子乘上所有的随机数,得到红包价值。 这种分布意味着:低于平均值的红包 ...
10次运行结果如下 ...
先假设一个红包四个人分,红包就是关于钱,那么是不是要保留两位小数,保留两位小数的方法很多,我用的方法是toFixed(2); 代码如下: 为什么要加0.01,随机数出来是不是有可能0.0001或者更多的,四舍五入的话它就是0.00,所以这种情况是不是不能让他出现 ...
微信抢红包 金额随机分配逻辑 抢红包, 算法 Q: 红包里的金额分配怎么算?为什么出现各个红包金额相差很大? A: 随机,额度在0.01和(剩余平均值*2)之间。(二倍均值算法) 例如:发100块钱,总共10个红包,那么平均值是10块钱一个,那么发出来的红包的额度在0.01元 ...