当前位置:Gxlcms > PHP教程 > 分发红包的算法

分发红包的算法

时间:2021-07-01 10:21:17 帮助过:13人阅读

求一个分发红包的算法
抢红包大家都玩过了,
就是给出一个总额,一个份数,就自动随机分配金额。

最小额0.01元。

求算法

function($总额,$红包个数){

。。。

return $红包数组;
}
------解决思路----------------------
改成这样可能好些
function distribute($total, $num) {
$avg = $total / $num;
$r = array_fill(0, $num, $avg);

for($i=0; $i<$num; $i+=2) {
$t = rand(1, $avg * 100) / 100;
$r[$i] -= $t;
if($r[$i] <= 0) $r[$i] = 0.01;
$r[$i+1] += $t;
}
$r[$num-1] = $total - array_sum(array_slice($r, 0, -1));
return $r;
}

人气教程排行