微信紅包生成演算法 解

2022-05-18 03:51:18 字數 512 閱讀 4088

echo '第'.$i.'個紅包:'.$money.' 元,餘額:'.$total.'元';}

echo '第'.$num.'個紅包:'.$total.' 元,餘額:0 元';

}set_packet(10,10);

前段時間看到乙個方法, 是算紅包隨機生成金額

$total 為使用者輸入的總金額...

$num 為分發總個數...

$min 為最少金額, 一般都是 1 分錢的,,,別問我為什麼, 因為我經常搶到(-^-)

$safe_total = ($total-($num-$i)*$min)/($num-$i);//這裡算出剩下每個紅包最安全的金額

$money = mt_rand($min*100, $safe_total * 100)/100;//在最安全的數值中用mt_rand 取隨機數  .. mt_rand 比rand 產生隨機數值的平均數值快四倍

$total = bcsub($total, $money, 2);//相減函式, 取餘後2位, 計算剩下餘額

微信搶紅包演算法實現

只討論金額隨機的情況,需要滿足規則 所有人搶到金額之和要等於紅包總金額1.每個人至少搶到一分錢1.要保證所有人搶到金額的機率相等方案一 每個人點進來領,金額隨機,隨機的上限是當前剩餘的紅包金額。每次搶到的金額 隨機區間 0,剩餘紅包金額 分析 這樣做的缺陷是越早領越有優勢,因為每次搶到的金額 隨機區...

微信紅包的隨機演算法

演算法 很簡單 基於截尾正態分佈,數額隨機,額度在0.01和剩餘平均值 2之間。實現上述演算法的邏輯主要是 public static bigdecimal getrandommoney redpackage redpackage random r new random bigdecimal min...

python 微信紅包生成器

紅包生成思路 200 塊錢 10個紅包 0 200 的乙個軸,隨機取9個點,分成10段,每一段的值表示乙個紅包的大小 把輸入的 money值 100 拿到的數值就是分,不用再考慮單位是元的時候 保留2位小數 import random defred pocket money,num money mo...