红包分配算法(优才网)

红包分配算法

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);
View Code

 

posted @ 2014-02-13 15:51  fanjf  阅读(515)  评论(0)    收藏  举报