Génération de nombres aléatoires totalisant une valeur désignée
En Python, il existe une solution simple pour créer n nombres pseudo-aléatoires qui, lorsque additionnés, atteignent une valeur cible prédéfinie, tout en garantissant que toutes les combinaisons possibles ont la même probabilité de se produire.
La méthode consiste à utiliser la fonction random.sample pour sélectionner un ensemble ordonné de n-1 nombres uniques entre 1 et le somme cible. Les nombres choisis servent de diviseurs, divisant efficacement la cible en n entiers positifs.
Considérons l'exemple de la génération de 4 nombres aléatoires totalisant 40. Les diviseurs générés pourraient être [4, 11, 24] (choisis parmi des nombres aléatoires .sample(plage(1, 40), 3)). Les nombres correspondants, dont la somme est 40, sont calculés comme [4, 7, 13, 6].
Pour garantir que chaque combinaison possible a une probabilité égale, il est crucial de sélectionner les diviseurs dans ordre croissant. De plus, cette approche s'adapte sans effort à différentes valeurs cibles, ce qui la rend polyvalente pour différents scénarios.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!