红包分配算法(优才网)
红包分配算法
http://www.ucai.cn/ask/detail?queid=1967
大家过年期间有没有抢红包呢?有一种随机红包,是指定了红包数和总额。然后就将总金额随机分为指定的份数,额度各不相同,并且各红包金额数目之和正好与总和相等。请根据总金额和红包数,来写出约包分配算法。
/** * 红包分配:把一定金额随机分配给指定人数 * * @param int $money 用于分配的金额 * @param int $num 分配人数 */ function RandomMoney($money, $num) { echo "$money元随机分成$num份分别是:<br/>"; $remain=$money; $use=0; for ($i=1; $i<$num; $i++) { $temp=rand(0,$remain*100)/100; echo "余额:".$remain.",已使用:".$use.",分配:".$temp."<br/>"; $use+=$temp; $remain-=$temp; } echo "余额:".$remain.",已使用:".$use.",分配:".$remain; } echo RandomMoney(10,5);

浙公网安备 33010602011771号