Moyenne de chiffre aléatoire

Fermé
menojulien Messages postés 38 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 22 août 2008 - 24 juin 2008 à 16:00
menojulien Messages postés 38 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 22 août 2008 - 24 juin 2008 à 21:23
Bonjour,

Je dois crée une série aléatoire de chiffre dont la moyenne de ces nombre est égale a un chiffre donné.
Le langage utilisé est le php.
J'ai réussi a crée une serie de chiffre aléatoire mais je n'ai pas d'idée pour la moyenne.
Merci de vos réponses

7 réponses

Darkito Messages postés 1191 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 26 mai 2010 545
24 juin 2008 à 16:05
Bonjour,
s'il te faut une série de N nombres aléatoires de moyenne M, il te suffit d'en créer N-1 et de calculer le dernier.

0
Moeb Messages postés 102 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 5 août 2008 12
24 juin 2008 à 16:05
Si leur moyenne doit être exactement égale à un nombre, ce n'est plus stochastique.
Par contre, tu peux faire toujours faire tendre la moyenne de la population considérée en considérant un grand nombre d'échantillons. Par exemple, si tu génères des nombres aléatoires entre 0 et 1, la moyenne tendra vers 0,5 quand N tendra vers l'infini.
0
menojulien Messages postés 38 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 22 août 2008 1
24 juin 2008 à 16:07
en faite je dois générer des chiffres entre 0 et 20 pour que la moyenne de ces chiffre soit égale a un nombre que je précise au départ
0
Moeb Messages postés 102 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 5 août 2008 12
24 juin 2008 à 16:08
Ouais, donc dans ce cas là tu peux appliquer la méthode de Darkito, même si c'est plus "réellement" aléatoire..

En gros tu auras ton nombre de "triche" de la manière suivante

X = Moyenne * N / (Somme des N-1 aléatoires)
0
Darkito Messages postés 1191 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 26 mai 2010 545 > Moeb Messages postés 102 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 5 août 2008
24 juin 2008 à 16:13
Surement une erreur de frappe/inattention

X = Moyenne*N - (Somme des N-1 aléatoires)
0
Moeb Messages postés 102 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 5 août 2008 12 > Darkito Messages postés 1191 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 26 mai 2010
24 juin 2008 à 16:14
Autant pour moi ! ;)
0
menojulien Messages postés 38 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 22 août 2008 1
24 juin 2008 à 16:12
OK c'est parfait merci beaucoup
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
menojulien Messages postés 38 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 22 août 2008 1
24 juin 2008 à 16:18
Par contre sa me donne des chiffres a virgule alors qu'il me faut des nombre entier
0
Darkito Messages postés 1191 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 26 mai 2010 545
24 juin 2008 à 16:22
Qu'est-ce qui te donne des "chiffres à virgules" ?
ton code php ?
0
menojulien Messages postés 38 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 22 août 2008 1
24 juin 2008 à 16:23
non le dernier chiffre "triche" crée par X = Moyenne*N - (Somme des N-1 aléatoires)
0
Darkito Messages postés 1191 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 26 mai 2010 545
24 juin 2008 à 16:25
Si ta moyenne est un entier, ce n'est pas possible...
car entier * entier = entier et entier - entier = entier
0
Moeb Messages postés 102 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 5 août 2008 12 > Darkito Messages postés 1191 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 26 mai 2010
24 juin 2008 à 16:30
Oui sauf que les aléatoires générés ne sont pas entiers, donc somme(flottants) = flottant
Mais par contre je me demande s'il fait un autocast de l'entier en flottant quand il fait des opé entre les deux. Apparemment dans cet exemple il a l'air de le faire..
La solution serait de tronquer les aléatoires?
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835 > Moeb Messages postés 102 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 5 août 2008
24 juin 2008 à 18:15
Salut,

Au lieu de tirer "aléatoirement" des flottants, tu tires des entiers.

Cdt
0
menojulien Messages postés 38 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 22 août 2008 1
24 juin 2008 à 21:23
C'est bon c'est réglé c'est moi qui me suis trompé dans un calcule.

Par contre j'aurai une autre question comment je peut faire pour concaténer un nombre et une virgule parce que moi j'ai fait

$histo .= $aleatoire ",";

mais ça ne marche pas
0