抢红包大家都玩过了,
就是给出一个总额,一个份数,就自动随机分配金额。
最小额0.01元。
求算法
function($总额,$红包个数){
。。。
return $红包数组;
}
function distribute($total,$num)
{
if($num return array();
if($num==1)
return array($total);
$n=rand(1,$total*100/2)/100;
$res[]=$n;
if($num-1>=0)
$res=array_merge($res,distribute(($total-$n),$num-1));
return $res;
}
print_r(distribute(50, 40));
function distribute($total,$num)
{
if($num return array();
if($num==1)
return array($total);
$n=rand(1,$total*100/2)/100;
$res[]=$n;
if($num-1>=0)
$res=array_merge($res,distribute(($total-$n),$num-1));
return $res;
}
改成这样可能好些
function distribute($total, $num) { $avg = $total / $num; $r = array_fill(0, $num, $avg); for($i=0; $i <p class="sougouAnswer"> </p><p class="yy"> 改成这样可能好些 </p><pre class="sycode" name="code">function distribute($total, $num) { $avg = $total / $num; $r = array_fill(0, $num, $avg); for($i=0; $i <br> 结果不对 <br> 我用var_dump出来 <br> 100:75 <br> 25:17 <br> 8:4 <br> 4:2 <br> 2:1 <br> 1:1 <br> 0:1 <br> -1:1 <br> -2:0
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号