Tirage au sort et poids du résultat

  • Auteur de la discussion Auteur de la discussion code
  • Date de début Date de début
WRInaute impliqué
Bonjour,

Admettons que j'ai un script qui permette de tirer au sort un nombre entre 1 et 10. Facile avec la fonction rand(1,10)

Maintenant je me pose la question suivante : théoriquement avec cette fonction donne autant de poids à 1 qu'à 3 ou encore à 7, autrement dit chaque nombre a autant de chance de ressortir que les autres.

Admettons que je veuille donner plus de poids à 5 qu'aux autres nombres. Cela est-il possible ?
 
Nouveau WRInaute
Salut,

Tu peux par exemple créer un tableau avec les entiers de 1 à 10 et tu ajoutes dans ce tableau, (p-1) fois le nombre 5, avec p le poids que tu souhaites donner à 5.

Ensuite tu tires une uniforme entre 1 et (10+p-1) avec la fonction rand()

Dans ton tableau, chaque indice a autant de chance de sortir, mais comme 5 est p fois plus présent... tu as ce que tu cherchais.


++
 
WRInaute accro
^^

$val1 = rand(1,10);
$val2 = rand(1,10);
$val3 = 5;

$tab = array("$val1","$val2","$val3");

te reste plus qu'a trouver sur le web (ya plein) une fonction qui va choisir un des elements aleatoirement du tableaux $tab.

en gros ta un peu plus d'1 chance sur 3 dans l'exemple de prendre le chiffre 5
 
Discussions similaires
Haut