假设:假设10个人抢100元红包。
操作:取0.01~(剩余金额 / 剩余人数 * 2)之间的随机数(2为常数,用于影响结果使其趋向平均值),最后一人兜底剩余金额。
结论:二倍均值法理论上可实现相对均衡的随机金额。
function red_envelope($money, $person) {
$arr = [];
for($i = 0; $i < $person; $i ++) {
$arr[$i] = $money;
if($person !== ($i + 1)) {
$arr[$i] = bcdiv(mt_rand(1, intval($money / ($person - $i) * 200)), 100, 2);
$money = bcsub($money, $arr[$i] , 2);
}
}
return $arr;
}
历史资源提醒--必看
该页面资源/教程来自原魔趣吧历史资源转移,因发布历史久远,部分资源/教程可能已失效或无法在最新版程序中安装使用!DZ资源建议在Discuz3.4及以下版本使用,PHP版本建议5.6。本站不保证历史资源全部可用,请认真选择下载,历史资源不提供任何售后和技术支持,资源仅提供做代码研究学习使用!请勿用于其他非法用途。
因改版,部分贴内链接将无法正常跳转,如链接失效或未正常跳转,请利用站内搜索功能搜索资源名称获取对应资源!
帮助: DZ资源安装教程
默认解压密码