PHP 版 群發紅包演算法

2022-03-13 14:13:24 字數 670 閱讀 1712

面試中的乙個問題, 當時在紙上用偽**描述了下實現的原理. 回來後用**實現了下. 有不完善或需要改進的地方, 歡迎拍磚 :)

<?php

fwrite(stdout, "請輸入紅包金額:");

$money = fgets(stdin) + 0;

if ( !is_numeric($money) || $money

< 0.01)

echo "紅包金額為 $money\n";

fwrite(stdout, "請設定紅包個數:");

$num = fgets(stdin) + 0;

if ( !is_int($num) || $num

<= 0 || (round($money / $num, 3) < 0.01))

echo "紅包個數為 $num\n";

if ($num == 1)

elseif ($money / $num == 0.01)

print_r($arr

);}

else

$sum = array_sum($arr

);

foreach ($arr

as$key => $value

)

print_r($arr

);}

使用PHP編寫發紅包程式

使用php發紅包,當我們輸入紅包數量和總金額後,php會根據這兩個值進行隨機分配每個金額,保證每個人都能領取到乙個紅包,每個紅包金額不等,就是要求紅包金額要有差異,所有紅包金額總額應該等於總金額。我們先來分析下規律。設定總金額為10元,有n個人隨機領取 n 1 第乙個 則紅包金額 x元 n 2 第二...

P5104 紅包發紅包

題目的意思是給你乙個 w 元的紅包,第 i 個搶的人的錢數是從0到剩下的錢中隨機的乙個數。然後叫你求第 k 個人搶到錢的期望。顯然答案就是 frac 套上有理數取膜的模板即可求到答案了。注意 這裡的 2 k 不能用1左移,畢竟 k 辣麼大。k 不是小於10啊!看清題目!includeusing st...

PHP仿微信發紅包領紅包效果

近期專案需要在聊天的基礎上新增紅包功能,需求 仿微信 不含留言 但只能使用餘額發紅包。於是多次使用微信紅包,了解各種互動介面及業務需求,如展示資訊 分類 個人,群普通,群拼手氣 個數限制 100 金額限制 200 過期時間 24小時 等等,然後著手開發,下面提及的基本全是提供給app端的介面,畢竟我...