美文网首页
PHP-抢红包算法

PHP-抢红包算法

作者: ResearchWorld | 来源:发表于2016-11-30 11:48 被阅读0次

    看到很多人写,自己也写了个。
    大概的主要思路:
    比如一个红包20元5个人抢,最小单位为1元。
    第一个人抢的范围必须是,1到20-(5-1)*1(因为后面的4个人要考虑到)

    <?php
    function create($money,$ncount){
        define('MIN_MONEY',0.01);
        $result = array();
        if($money >= $ncount*MIN_MONEY){
            $money *= 100;
            for($i=0; $i<$ncount; $i++){
                if($i === $ncount -1){
                    array_push($result,$money);
                }else{
                    array_push($result,rand(1,$money-($ncount-$i-1)));    
                }
                
                $money -= $result[$i];
                $result[$i] /= 100;
            }
            shuffle($result);
            return $result;
        }
        return false;
    }
    
    $result = create(20,8);
    if($result!=false){
        print_r($result);
        echo "\n".'sum:'.array_sum($result);
    }
    
    

    相关文章

      网友评论

          本文标题:PHP-抢红包算法

          本文链接:https://www.haomeiwen.com/subject/pgxtmttx.html