Rumah Perpustakaan PHP Perpustakaan lain Kelas fungsi PHP untuk algoritma kebarangkalian menang
Kelas fungsi PHP untuk algoritma kebarangkalian menang
<?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;
}

Tatasusunan hadiah ialah tatasusunan dua dimensi yang merekodkan semua maklumat hadiah loteri ini, di mana id mewakili tahap kemenangan, hadiah mewakili hadiah, dan v mewakili kebarangkalian untuk menang. Perhatikan bahawa v mestilah integer Anda boleh menetapkan v anugerah yang sepadan kepada 0, yang bermaksud bahawa kebarangkalian untuk memenangi anugerah ialah 0. Jumlah v dalam tatasusunan (asas). tepat kebarangkalian boleh dicerminkan. Dalam contoh ini, jumlah v ialah 100, maka kebarangkalian menang untuk tablet itu ialah 1%. $proArr ialah tatasusunan yang telah ditetapkan. Andaikan tatasusunan itu ialah: tatasusunan(100,200,300,400) Ia bermula dengan menyaring nombor pertama daripada julat kebarangkalian 1,1000 untuk melihat sama ada ia berada dalam julat kebarangkalian kejadiannya ruang kebarangkalian ialah ruang kebarangkalian bagi nilai k tolak nombor tadi Dalam kes ini, ia adalah tolak 100, yang bermaksud nombor kedua ditapis dalam julat 1,900. Dengan cara ini, sehingga akhir saringan, akan sentiasa ada nombor yang memenuhi keperluan. Ia seperti menyentuh sesuatu dalam kotak Jika yang pertama tidak ada, yang kedua tidak ada, dan yang ketiga tidak ada, maka yang terakhir mesti ada. Algoritma ini mudah dan sangat cekap Kuncinya ialah algoritma ini telah digunakan dalam projek kami sebelum ini, terutamanya dalam projek dengan jumlah data yang besar.


Penafian

Semua sumber di laman web ini disumbangkan oleh netizen atau dicetak semula oleh tapak muat turun utama. Sila semak integriti perisian itu sendiri! Semua sumber di laman web ini adalah untuk rujukan pembelajaran sahaja. Tolong jangan gunakannya untuk tujuan komersial. Jika tidak, anda akan bertanggungjawab untuk semua akibat! Jika terdapat sebarang pelanggaran, sila hubungi kami untuk memadamkannya. Maklumat hubungan: admin@php.cn

Artikel Berkaitan

Bagaimanakah jQuery Memudahkan Manipulasi DOM untuk Pembangun Web? Bagaimanakah jQuery Memudahkan Manipulasi DOM untuk Pembangun Web?

03 Jan 2025

Limpahan: Tersembunyi dan Pengembangan HeightjQuery membezakan dirinya daripada perpustakaan JavaScript lain melalui keserasian merentas platform dan...

Bagaimana untuk Melaksanakan Binari Baris Perintah dalam Node.js? Bagaimana untuk Melaksanakan Binari Baris Perintah dalam Node.js?

27 Dec 2024

Melaksanakan Binari Baris Perintah dalam Node.jsMelaksanakan binari pihak ketiga ialah tugas penting apabila mengalihkan perpustakaan CLI dari bahasa lain ke...

Bagaimanakah Saya Boleh Membungkus Ketergantungan Projek ke dalam JAR Tunggal dengan Maven? Bagaimanakah Saya Boleh Membungkus Ketergantungan Projek ke dalam JAR Tunggal dengan Maven?

26 Dec 2024

Termasuk Ketergantungan dalam Balang dengan MavenApabila membangunkan perisian, adalah perkara biasa untuk bergantung pada perpustakaan dan rangka kerja yang dibangunkan oleh orang lain. Maven, seorang...

Menjalankan Puppeteer pada Pelayan: Tutorial Lengkap Menjalankan Puppeteer pada Pelayan: Tutorial Lengkap

01 Jan 2025

Puppeteer ialah perpustakaan Node.js yang menyediakan API peringkat tinggi untuk mengawal penyemak imbas Chrome atau Chromium melalui DevTools Protocol. Ia adalah alat yang berkuasa untuk mengikis web, ujian automatik, menangkap tangkapan skrin dan lain-lain. Semasa menggunakan Puppeteer secara tempatan ialah str

Menjadikan Aplikasi CLI Anda Populer dengan Output Bergaya Menjadikan Aplikasi CLI Anda Populer dengan Output Bergaya

11 Jan 2025

Aplikasi baris arahan tidak boleh dilihat secara membosankan!Walaupun sering dilihat sebagai berfungsi semata-mata, menggabungkan warna, teks tebal, dan elemen gaya lain dengan ketara meningkatkan pengalaman pengguna. Perpustakaan Python seperti warna dan mempermudahkan proses ini, menambah peribadi

Perpustakaan .NET SFTP manakah yang Terbaik Mengimbangi Prestasi, Keselamatan dan Kemudahan Penggunaan? Perpustakaan .NET SFTP manakah yang Terbaik Mengimbangi Prestasi, Keselamatan dan Kemudahan Penggunaan?

19 Jan 2025

Menilai Perpustakaan SFTP untuk .NETApabila memilih perpustakaan SFTP untuk .NET, pertimbangkan faktor berikut: Penyelenggaraan: Pastikan perpustakaan adalah...

See all articles