Maison Bibliothèques PHP Autres bibliothèques Classe de fonctions PHP pour l'algorithme de probabilité gagnante
Classe de fonctions PHP pour l'algorithme de probabilité gagnante
<?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;
}

Le tableau des prix est un tableau bidimensionnel qui enregistre toutes les informations sur les prix de cette loterie, où id représente le niveau gagnant, prix représente le prix et v représente la probabilité de gagner. Notez que v doit être un entier. Vous pouvez définir le v de la récompense correspondante sur 0, ce qui signifie que la probabilité de remporter la récompense est de 0. La somme de v dans le tableau (base) est grande. précis, la probabilité peut être reflétée. Dans cet exemple, la somme de v est de 100, alors la probabilité de gagner pour la tablette est de 1 %. Si la somme de v est de 10 000, la probabilité de gagner est de une sur dix mille. $proArr est un tableau prédéfini. Supposons que le tableau soit : array(100,200,300,400). Il commence par filtrer le premier nombre de la plage de probabilité de 1 1000 pour voir s'il se trouve dans sa plage de probabilité d'occurrence. L'espace de probabilité est l'espace de probabilité de la valeur de k moins le nombre actuel. Dans ce cas, il est de moins 100, ce qui signifie que le deuxième nombre est filtré dans la plage de 1 900. De cette façon, jusqu'à la fin de la présélection, il y aura toujours un numéro qui répondra aux exigences. C'est comme toucher quelque chose dans une boîte. Si le premier n'est pas là, le deuxième n'est pas là et le troisième n'est pas là, alors le dernier doit l'être. Cet algorithme est simple et très efficace. La clé est que cet algorithme a été appliqué dans nos projets précédents, en particulier dans des projets avec de grandes quantités de données. L'efficacité est très bonne.


Clause de non-responsabilité

Toutes les ressources de ce site proviennent d'internautes ou sont réimprimées par les principaux sites de téléchargement. Veuillez vérifier vous-même l'intégrité du logiciel ! Toutes les ressources de ce site sont uniquement à titre de référence d'apprentissage. Merci de ne pas les utiliser à des fins commerciales. Sinon, vous serez responsable de toutes les conséquences ! En cas d'infraction, veuillez nous contacter pour la supprimer. Coordonnées : admin@php.cn

Article connexe

Que sont les packages de dépendances Linux Que sont les packages de dépendances Linux

24 Mar 2023

Les packages de dépendances Linux font référence à des « fichiers de bibliothèque ». La plupart des packages de dépendances sont des fichiers de bibliothèque, y compris les bibliothèques dynamiques et les bibliothèques statiques. Les systèmes Linux, comme les autres systèmes d'exploitation, sont de conception modulaire, ce qui signifie que les fonctions dépendent les unes des autres et que certaines fonctions nécessitent. quelques autres fonctions pour les prendre en charge, ce qui peut améliorer la réutilisabilité du code.

10+ meilleurs outils et bibliothèques Vue.js (Partager) 10+ meilleurs outils et bibliothèques Vue.js (Partager)

27 Sep 2020

Cet article a compilé une liste des outils et bibliothèques les plus connus que vous devez connaître et finalement utiliser dans vos projets Vue.js. Contrairement à de nombreux autres articles qui répertorient uniquement les bibliothèques de composants d'interface utilisateur, cette compilation explore le large éventail d'outils, de bibliothèques et de plugins de l'écosystème Vue.

Comment créer une bibliothèque statique à partir de plusieurs autres bibliothèques statiques ? Comment créer une bibliothèque statique à partir de plusieurs autres bibliothèques statiques ?

17 Dec 2024

Création d'une bibliothèque statique liée à d'autres bibliothèques statiquesLors de la création d'une bibliothèque statique qui s'appuie sur des dépendances de plusieurs autres...

Les bibliothèques Python les plus sous-estimées que vous devriez commencer à utiliser dès maintenant Les bibliothèques Python les plus sous-estimées que vous devriez commencer à utiliser dès maintenant

03 Nov 2024

« Attendez… il existe des bibliothèques Python autres que Pandas et NumPy ? Si c'est ce que vous pensez, bienvenue au club ! Bien sûr, Pandas et NumPy sont géniaux, mais il existe tout un monde de bibliothèques Python sous-estimées qui peuvent vous faire ressembler à un expert en codage.

Des connaissances améliorées L'utilisation conjointe de ld et ldd de Linux peut nous aider à analyser les raisons de l'échec du chargement des fichiers de bibliothèque au moment de l'exécution. Des connaissances améliorées L'utilisation conjointe de ld et ldd de Linux peut nous aider à analyser les raisons de l'échec du chargement des fichiers de bibliothèque au moment de l'exécution.

20 Feb 2024

Habituellement, lorsque les développeurs et le personnel d'exploitation et de maintenance sont confrontés au problème de l'impossibilité de trouver les bibliothèques dépendantes lors de l'exécution d'un logiciel, ils peuvent utiliser certains outils pour suivre le processus de chargement au démarrage, tels que strace, gdb, etc. De plus, vous pouvez également utiliser les commandes ld et ldd pour vous aider à analyser la situation des bibliothèques dépendantes afin de résoudre le problème plus rapidement. Ces outils peuvent aider à localiser les bibliothèques de dépendances manquantes et guider les utilisateurs dans la prise des mesures appropriées pour résoudre les problèmes d'exécution des logiciels. Ici, nous analysons le fichier de bibliothèque dynamique libmpi_usempif80.so et les autres bibliothèques dynamiques dont il dépend comme cause du problème. Tout d’abord, présentons comment la commande ld peut nous aider à analyser de quelles autres bibliothèques dépend la bibliothèque mpi_usempif80 ? Lorsque la bibliothèque mpi_usempif80 est chargée,

Quelle langue est écrite en Redis ? Quelle langue est écrite en Redis ?

02 Apr 2024

Redis est écrit en C car il est efficace, multiplateforme et évolutif. Les autres langages couverts incluent Lua (scripts), C++ (fonctionnalités avancées) et Python, Java et Node.js pour les bibliothèques clientes.

See all articles