Bonsoir,

Voila, je suis en train de faire un algorithme, le but est est de trouve un "Nombre secret" ce nombre secret est generé par un Random:

Float: Rand: Random()

Random donne un nombre (float) compris entre 0 et 1

les borne pour trouver le chiffre son demandé au joueur (genre de 0 à 100..)

Pour l'example on va dire de : 0 à 10

Le probleme maintenant c'est qu'il faut que CHAQUE CHIFFRE EST LA MEME PROBABILITE D?ETRE CHOISIT...

la premiere chose qui me vien a l'esprit c'est de faire:

PS: dans le language que j'utilise (Integer) ARRONDI, donc 1.5 -> 2
NbSecret = (Integer)Rand * 10

donc la j'aurai un chiffre qui se trouvera entre 0 et 10 (Compris)

mais le probleme c'est que les borne (0 et 10) on 2fois moi de chance d'etre choisi...

example de 0 à 2

de 0 à 0.4 = 0 ( la y a en 5)
de 0.5 à 1.4 = 1 (la 10)
de 1.5 à 2 = 2 (et la 6)

j'ai donc fait un ca (par ex de 0 à 10):

NbSecret := ((10 +1)*Rand) mod (10 + 1));

avec ceci chaque chiffre a la meme probabilité detre choisit (car la on a agrandi la borne (de 10 a 11) et le mod(10+1) agrandi la borne (0)

de 0 à 0.4 = 0 ( la y a en 5)
de 0.5 à 1.4 = 1 (la 10)
de 1.5 à 2.4 = 2 (et la 10)
de 2.5 à 3 = 3 (et la 6)

en faite le mod sert en GROS a mettre tout les '3' dans les 0... (car 3 mod 3 = 0..)

Mais je n'ai pas le droit d'utilise Mod,
Il me faut donc une autre Equation..

et la je bloque

si quelqu'un pourrai me donné quelque indice?

d'avance merci