ホームページ 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 リクエストを容易にするのですか?

30 Nov 2024

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

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

30 Oct 2024

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

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

11 Jan 2025

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

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

05 Mar 2025

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

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

04 Mar 2025

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

システム設計: 図書館管理システム システム設計: 図書館管理システム

01 Nov 2024

Go でライブラリ管理システムを構築する この記事では、Go に実装されたライブラリ管理システム (LMS) について調べて、その中核的な機能、設計上の決定事項、主要なコード スニペットに焦点を当てましょう。 図書館管理の主要な機能

See all articles