<?php
//随机红包
function redpack($money,$nums){
$arr = array();
$randFenpei = $money - $nums;
if($randFenpei == 0){
for($i=0;$i<$nums-1;$i++){
array_push($arr,1);
}
return $arr;
}
//$randKeyArr = range(0,$nums-1,1);
$mo = $randFenpei%$nums;
$pingjun = floor($randFenpei/$nums);
$tmp = 0;
for($i=0;$i<$nums;$i++){
$randMoney = mt_rand(0,$pingjun+$tmp);
if($randMoney > $pingjun){
$tmp = $tmp+$pingjun-$randMoney;
}else {
$tmp += $pingjun-$randMoney;
}
if($i == $nums-1){
$arrVal = $randMoney + $tmp +1 ;
}else{
$arrVal = $randMoney +1;
}
//echo $randMoney."-".$arrVal."-".($tmp+$pingjun)."<br/>";
array_push($arr,$arrVal);
/*$randNum = rand(0,count($randKeyArr));
$randKey = $randKeyArr[$randNum];
$arr[$randKey] = $randMoney+1;
array_splice($randKeyArr,$randNum,1);*/
}
for($i=1; $i<$mo; $i++){
$arr[mt_rand(0,$nums-1)] +=1;
}
shuffle($arr);
return $arr;
}
随机红包算法(请大神指教,感觉有点low)
最新推荐文章于 2022-11-04 16:52:09 发布