php 随机生成指定金额范围内的随机数

本文介绍了一种随机分配固定总额红包的算法实现。该算法确保每位参与者至少获得最小金额,同时保持总额不变。通过随机数生成及数值处理技巧,实现了公平且有趣的红包分配方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


 function random_bag($money_total,$personal_num,$min_money){
        // $money_total=20;
        // $personal_num=19;
        // $min_money=1;
        $money_right=$money_total;
        $randMoney=[];
        for($i=1;$i<=$personal_num;$i++){
            if($i== $personal_num){
                $money=$money_right;
            }else{
                $max=$money_right*100 - ($personal_num - $i ) * $min_money *100;
                $money= rand($min_money*100,$max) /100;
                $money=sprintf("%.2f",$money);
                }
                $randMoney[]=$money;
                $money_right=$money_right - $money;
                $money_right=sprintf("%.2f",$money_right);
        }
          shuffle($randMoney);
          return $randMoney;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值