Formule pour un lancer de dé?
Math.floor(Math.random() * 6) + 1 donne des entiers 1-6 avec probabilité égale.
Générez des nombres aléatoires avec une plage personnalisée
Pseudo-aléatoire, bien distribué statistiquement. Pour la sécurité, utilisez crypto.getRandomValues().
Math.floor(Math.random() * 6) + 1 donne des entiers 1-6 avec probabilité égale.
Utilisez Fisher-Yates sur un tableau [1..45] et prenez les 6 premiers éléments.
Les ordinateurs utilisent généralement des nombres pseudo-aléatoires. Math.random() utilise un algorithme déterministe basé sur un seed.
Si un attaquant connaît le seed, il peut reproduire toutes les valeurs "aléatoires". Utilisez crypto.getRandomValues() pour la sécurité.
Fisher-Yates parcourt le tableau de la fin et échange chaque position avec une position aléatoire. Complexité O(n).
Les bons générateurs produisent une distribution uniforme. Formule entière: Math.floor(Math.random() * (max - min + 1)) + min.
L'avantage de la maison dans les casinos est une conception mathématique, pas une tromperie des nombres aléatoires.