Heim PHP-Bibliotheken Andere Bibliotheken PHP-Funktionsklasse für den Gewinnwahrscheinlichkeitsalgorithmus
PHP-Funktionsklasse für den Gewinnwahrscheinlichkeitsalgorithmus
<?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;
}

Das Preisarray ist ein zweidimensionales Array, das alle Preisinformationen dieser Lotterie aufzeichnet, wobei id die Gewinnstufe, Preis den Preis und v die Gewinnwahrscheinlichkeit darstellt. Beachten Sie, dass v eine Ganzzahl sein muss. Sie können das v des entsprechenden Preises auf 0 setzen, was bedeutet, dass die Wahrscheinlichkeit, den Preis zu gewinnen, 0 ist. Je größer die Basis, desto mehr genau kann die Wahrscheinlichkeit wiedergegeben werden. In diesem Beispiel beträgt die Summe von v 100, dann beträgt die Gewinnwahrscheinlichkeit für das Tablet 1 %. Wenn die Summe von v 10.000 beträgt, beträgt die Gewinnwahrscheinlichkeit eins zu zehntausend. $proArr ist ein voreingestelltes Array. Es wird zunächst die erste Zahl aus dem Wahrscheinlichkeitsbereich von 1.1000 überprüft, um zu sehen, ob sie innerhalb ihres Auftretenswahrscheinlichkeitsbereichs liegt Der Wahrscheinlichkeitsraum ist der Wahrscheinlichkeitsraum des Werts von k minus der aktuellen Zahl. In diesem Fall ist er minus 100, was bedeutet, dass die zweite Zahl im Bereich von 1.900 gefiltert wird. Auf diese Weise wird es bis zum Ende des Screenings immer eine Nummer geben, die den Anforderungen entspricht. Es ist, als würde man etwas in einer Kiste berühren. Wenn das erste nicht da ist, das zweite nicht da ist und das dritte nicht da ist, dann muss das letzte da sein. Dieser Algorithmus ist einfach und sehr effizient. Der Schlüssel ist, dass dieser Algorithmus in unseren vorherigen Projekten angewendet wurde, insbesondere in Projekten mit großen Datenmengen.


Haftungsausschluss

Alle Ressourcen auf dieser Website werden von Internetnutzern bereitgestellt oder von großen Download-Sites nachgedruckt. Bitte überprüfen Sie selbst die Integrität der Software! Alle Ressourcen auf dieser Website dienen nur als Referenz zum Lernen. Bitte nutzen Sie diese nicht für kommerzielle Zwecke. Andernfalls sind Sie für alle Folgen verantwortlich! Wenn ein Verstoß vorliegt, kontaktieren Sie uns bitte, um ihn zu löschen. Kontaktinformationen: admin@php.cn

Verwandter Artikel

Was sind die besten PHP-Bibliotheken für den benutzerdefinierten XLSX/XLS-Export und -Import? Was sind die besten PHP-Bibliotheken für den benutzerdefinierten XLSX/XLS-Export und -Import?

03 Jan 2025

Alternative Bibliotheken zu PHP_excel für den Export nach XLSX/XLS in einem benutzerdefinierten FormatPHP_excel ist eine beliebte Bibliothek für die Arbeit mit Excel...

Wie kann ich die Debugging-Ausgabe von TensorFlow stummschalten? Wie kann ich die Debugging-Ausgabe von TensorFlow stummschalten?

28 Oct 2024

Unterdrückung der Tensorflow-Debugging-AusgabeTensorflow gibt umfangreiche Informationen über geladene Bibliotheken, gefundene Geräte und andere Debugging-Daten aus ...

Wie erstellt und nutzt man statische Bibliotheken in g? Wie erstellt und nutzt man statische Bibliotheken in g?

24 Oct 2024

Dieser Artikel führt Entwickler zum Erstellen statischer Bibliotheken in C mit g an. Es zeigt, wie man Quellcode in Objektdateien kompiliert, statische Bibliotheken erstellt und diese in andere Projekte integriert. Durch die Nutzung dieses Ansatzes können Entwickler

Die am meisten unterschätzten Python-Bibliotheken, die Sie sofort verwenden sollten Die am meisten unterschätzten Python-Bibliotheken, die Sie sofort verwenden sollten

03 Nov 2024

„Warten Sie … es gibt andere Python-Bibliotheken als Pandas und NumPy?“ Wenn Sie das gerade gedacht haben: Willkommen im Club! Sicher, Pandas und NumPy sind großartig, aber es gibt eine ganze Welt unterschätzter Python-Bibliotheken, die Sie wie einen Programmier-Experten aussehen lassen können

Wie format man ein Datum in JS? Wie format man ein Datum in JS?

20 Jul 2025

Formatdaten in JavaScript können durch native Methoden oder Bibliotheken von Drittanbietern implementiert werden. 1. Verwenden Sie natives Datumsobjektstich: Holen Sie sich das Datumsteil durch Getvollerweise, GetMonth, getDate und andere Methoden und spleifen Sie es manuell in yjyy-mm-dd und andere Formate, was für leichte Bedürfnisse geeignet ist und nicht auf Bibliotheken von Drittanbietern beruht. 2. Verwenden Sie die Tolocaledatestring -Methode: Sie können wie ein MM/DD/YYYY -Format gemäß den lokalen Gewohnheiten ausgeben, unterstützen Sie mehrsprachig, aber das Format kann aufgrund verschiedener Umgebungen inkonsistent sein. 3.. Verwenden Sie Bibliotheken von Drittanbietern wie Day.js oder Date-Fns: Bietet prägnante Syntax- und Richfunktionen, die für häufige Operationen geeignet sind oder wenn Erweiterbarkeit erforderlich ist, wie z. B. DayJS ()

PHP str_ireplace für den Fall-unempfindlichen Ersatz PHP str_ireplace für den Fall-unempfindlichen Ersatz

15 Jul 2025

Um die Funktion str_ireplace () in PHP für den Ersatz für Fall-unempfindliche Zeichenfolge zu verwenden, sind die Schritte wie folgt: 1. Geben Sie die zu findene Inhaltssuche an; 2. Geben Sie den Inhalt $ ersetzt für den Austausch an. 3.. Geben Sie das zu durchsuchende und ersetzte Ziel an. V. Diese Funktion eignet sich für die Handhabung von Szenarien wie Benutzereingaben, URL -Parametern oder Inhaltsfilterung und unterstützt die Stapel -Substitution in Form von Zeichenfolgen oder Arrays und ignoriert Fallunterschiede. Im Gegensatz zu Str_Replace () stimmt Str_ireplace () mit allen Fallinhalten überein, die Leistung ist jedoch etwas niedriger. Achten Sie auf das Problem der Charakter -festgelegten Gleichmäßigkeit und Ersatzbestellung.

See all articles