ホームページ >バックエンド開発 >PHPチュートリアル >赤い封筒を配布するためのアルゴリズム

赤い封筒を配布するためのアルゴリズム

WBOY
WBOYオリジナル
2016-06-13 12:16:34983ブラウズ

赤い封筒を配布するアルゴリズムを探しています
誰もが赤い封筒をつかむゲームをプレイしたことがあります
合計金額と部数を指定するだけで、金額が自動的にランダムに配布されます。

最低金額は 0.01 元です。

アルゴリズム

関数($合計金額,$赤い封筒の数){

を見つけます。 。 。

return $red封筒配列;
}
------解決策のアイデア------ - -
これに変更した方が良いかもしれません

function distribute($total, $num) {<br />  $avg = $total / $num;<br />  $r = array_fill(0, $num, $avg);<br /><br />  for($i=0; $i<$num; $i+=2) {<br />    $t = rand(1, $avg * 100) / 100;<br />    $r[$i] -= $t;<br />    if($r[$i] <= 0) $r[$i] = 0.01;<br />    $r[$i+1] += $t;<br />  }<br />  $r[$num-1] = $total - array_sum(array_slice($r, 0, -1));<br />  return $r;<br />}<br /><br />

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。