今回は、JS を使用して WeChat 紅包アルゴリズムを作成する方法と、JS を使用して WeChat 紅包アルゴリズムを作成する際の注意点を説明します。以下は実際的なケースです。 z
100元相当の赤い封筒があり、10人に送る必要があるとします。公平性を確保するために、アルゴリズムは次の原則を保証する必要があります:
誰もが少なくとも0.01元を獲得できる
誰もが平等な機会を持っている
全員の金額の合計は100元に等しい
1. 単純なランダム関数の実装
多くの友人の一般的なアイデアは次のとおりです:
ステップ 1: 0 ~ 100 の数字をランダムに選択して、最初の赤い封筒の金額を取得します。
ステップ 2: 0 から残額までの数字をランダムに選択して、2 番目の赤い封筒の金額を取得します。
3番目のステップ:...
最後のステップは、残りのお金を最後の人に渡すことです。
など、赤い封筒を10枚すべて入手してください。しかし、これが明らかに不公平であることにあなたが気づいたかどうかはわかりません。先に掴んだ人が有利となり、最初の人のランダム範囲は 0 ~ 100 で、より多くの金額を獲得できる可能性があります。最後の人のランダム範囲は非常に小さくなります。最初の人が 90 元を獲得した場合、最後の人は 10 元を超える可能性はありません。このプロセスをコードでシミュレートしてみましょう:
テスト結果は次のとおりです:
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、他の関連情報に注目してください。 PHP 中国語 Web サイトの記事をご覧ください。
推奨読書:
以上がJS を使用して WeChat 赤い封筒アルゴリズムを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。