検索
ホームページPHP ライブラリその他の図書館勝率アルゴリズム用の PHP 関数クラス
勝率アルゴリズム用の PHP 関数クラス
<?php
function get_rand($proArr) {
    $result = '';
    //概率数组的总概率精度
    $proSum = array_sum($proArr);
    //概率数组循环
    foreach ($proArr as $key => $proCur) {
        $randNum = mt_rand(1, $proSum);
        if ($randNum <= $proCur) {
            $result = $key;
            break;
        } else {
            $proSum -= $proCur;
        }
    }
    unset ($proArr);
    return $result;
}

prime 配列は、この宝くじのすべての賞品情報を記録する 2 次元配列です。id は当選レベルを表し、prise は賞品を表し、v は当選確率を表します。 v は整数である必要があることに注意してください。対応する賞の v を 0 に設定できます。これは、賞を獲得する確率が 0 であることを意味します。配列 (基数) 内の v の合計。基数が大きいほど、精度が高くなります。確率を反映できます。この例では、v の合計が 100 である場合、タブレットが当たる確率は 1% ですが、v の合計が 10,000 である場合、当たる確率は 1 万分の 1 です。 $proArr は事前に設定された配列です。配列が array(100,200,300,400) であるとします。まず、確率範囲 1,1000 から最初の数値をスクリーニングして、その出現確率範囲内にあるかどうかを確認します。そうでない場合は、確率空間とは、kの値から先ほどの数値を引いた確率空間で、この場合はマイナス100となり、2番目の数値が1,900の範囲でフィルタリングされることになります。このようにして、審査が終了するまで、必ず要件を満たす数字が存在します。それは箱の中のものに触れるのと同じで、最初のものがそこになく、2 つ目がそこになく、3 つ目が存在しない場合、最後のものが存在するはずです。このアルゴリズムはシンプルで非常に効率的です。重要なのは、このアルゴリズムが以前のプロジェクト、特に大量のデータを含むプロジェクトに適用されているということです。効率は非常に優れています。


免責事項

このサイトのすべてのリソースはネチズンによって提供されたもの、または主要なダウンロード サイトによって転載されたものです。ソフトウェアの整合性をご自身で確認してください。このサイトのすべてのリソースは学習の参考のみを目的としています。商業目的で使用しないでください。そうでない場合は、すべての結果に対して責任を負うことになります。侵害がある場合は、削除するためにご連絡ください。連絡先情報: admin@php.cn

関連記事

cURL はどのように PHP での HTTP リクエストを容易にするのですか?cURL はどのように PHP での HTTP リクエストを容易にするのですか?

30Nov2024

cURL: PHP の HTTP リクエスト ハンドラー PHP 開発の分野では、「cURL」という用語が頻繁に登場します。それは図書館です...

2025年に知るべきトップ50のPythonライブラリ2025年に知るべきトップ50のPythonライブラリ

16Mar2025

Python:AIとデータサイエンスの未来へのゲートウェイ Pythonの比類のない汎用性と読みやすさは、データサイエンス、機械学習、人工知能の優先言語としてのステータスを固めています。 その広範な図書館のエコシス

App Engine 上の Golang アプリケーションでパスワードを保護するにはどうすればよいですか?App Engine 上の Golang アプリケーションでパスワードを保護するにはどうすればよいですか?

30Oct2024

App Engine 上の Golang でパスワードを保護するWeb アプリケーションのパスワード ハッシュに関しては、セキュリティが最も重要です。人気の図書館ですが...

iTextSharp を使用してテキストの書式設定情報 (フォント、サイズなど) を抽出するにはどうすればよいですか?iTextSharp を使用してテキストの書式設定情報 (フォント、サイズなど) を抽出するにはどうすればよいですか?

11Jan2025

iTextSharp でテキストの書式設定を行うにはどうすればよいですか?はい、iTextSharp でテキストの書式設定を行うことができます。図書館では次のようなサービスを提供しています...

無料のjqueryオンラインエディター無料のjqueryオンラインエディター

05Mar2025

JSFiddle:便利なオンラインjQueryコードエディター JSFiddleは、開発者がjQueryコードを書き、テスト、デバッグすることを促進する強力なオンラインエディターです。それは、HTML、CSS、およびJavaScript/jQueryコードの入力にそれぞれ使用され、結果をリアルタイムで表示するために使用されるスプリットスクリーンインターフェイスを使用します。これは、非個人的なコンピューターでコードをテストしたり、異なるjQueryバージョン間のコードの違いを比較したりするのに非常に役立ちます。 JQueryに加えて、Mootools、Prototype、Yui、Glow、Dojo、その他の図書館もサポートしています。 jsfiddleの例 JSFiddle FAQ JSFiddleおよびその他のオンライン

<🎜>ウィッシュファインダーの場所2024<🎜>ウィッシュファインダーの場所2024

04Mar2025

2024年のこの<🎜>ウィッシュファインダーガイドは、毎日のウィッシュの場所を明らかにし、キャラクターの手がかりを解読します。報酬とともに、それぞれの願いを獲得して吊るすプロセスをカバーします。始めましょう! 1日目:ダイモンの願い - 図書館ダイモン

See all articles