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