<?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.
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
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.
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.
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...
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.
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,
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.
Outils chauds Tags
Hot Tools
Bibliothèque PHP pour les conteneurs d'injection de dépendances
Bibliothèque PHP pour les conteneurs d'injection de dépendances
Une collection de 50 excellents algorithmes PHP classiques
Algorithme PHP classique, apprenez d'excellentes idées et élargissez votre réflexion
Petite bibliothèque PHP pour optimiser les images
Petite bibliothèque PHP pour optimiser les images