PHP-搶紅包算法

看到很多人寫,自己也寫了個(gè)。
大概的主要思路:
比如一個(gè)紅包20元5個(gè)人搶,最小單位為1元。
第一個(gè)人搶的范圍必須是,1到20-(5-1)*1(因?yàn)楹竺娴?個(gè)人要考慮到)

<?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);
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容