tooliv

Générateur de nombres aléatoires

Générez des nombres aléatoires avec une plage personnalisée

Trier

Générateur de nombres aléatoires

Comment Math.random() est-il aléatoire?

Pseudo-aléatoire, bien distribué statistiquement. Pour la sécurité, utilisez crypto.getRandomValues().

Formule pour un lancer de dé?

Math.floor(Math.random() * 6) + 1 donne des entiers 1-6 avec probabilité égale.

Comment générer des numéros de loterie?

Utilisez Fisher-Yates sur un tableau [1..45] et prenez les 6 premiers éléments.

Nombres aléatoires: Vrai vs Pseudo

Les ordinateurs utilisent généralement des nombres pseudo-aléatoires. Math.random() utilise un algorithme déterministe basé sur un seed.

Pourquoi Math.random() est-il dangereux pour les mots de passe?

Si un attaquant connaît le seed, il peut reproduire toutes les valeurs "aléatoires". Utilisez crypto.getRandomValues() pour la sécurité.

Mélange Fisher-Yates: Aléatoire sans répétition

Fisher-Yates parcourt le tableau de la fin et échange chaque position avec une position aléatoire. Complexité O(n).

Distribution uniforme et son importance

Les bons générateurs produisent une distribution uniforme. Formule entière: Math.floor(Math.random() * (max - min + 1)) + min.

Aléatoire dans les jeux et les jeux d'argent

L'avantage de la maison dans les casinos est une conception mathématique, pas une tromperie des nombres aléatoires.

Questions frequemment posees

Comment Math.random() est-il aléatoire?

Pseudo-aléatoire, bien distribué statistiquement. Pour la sécurité, utilisez crypto.getRandomValues().

Formule pour un lancer de dé?

Math.floor(Math.random() * 6) + 1 donne des entiers 1-6 avec probabilité égale.

Comment générer des numéros de loterie?

Utilisez Fisher-Yates sur un tableau [1..45] et prenez les 6 premiers éléments.

Outils associés