将一个金额分为多个不等份

    //将总金额分为不等分
    function randomDivInt($div,$total){
        $remain=$total;
        $max_sum=($div-1)*$div/2;
        $p=$div; $min=0;
        $a=array();
        for($i=0; $i<$div-1; $i++){
            $max=($remain-$max_sum)/($div-$i);
            $e=rand($min,$max);    
            $min=$e+1; $max_sum-=--$p;
            $remain-=$e;
            $a[$e]=true;
        }
        $a=array_keys($a);
        $a[]=$remain;
        return $a;
    }

猜你喜欢

转载自blog.csdn.net/qq_41718455/article/details/80930139