tooliv

Generador de números aleatorios

Genera números aleatorios con rango y cantidad personalizados

Ordenar

Generador de números aleatorios

¿Qué tan aleatorio es Math.random()?

Pseudoaleatorio, bien distribuido estadísticamente. Para seguridad use crypto.getRandomValues().

¿Fórmula para tirar un dado?

Math.floor(Math.random() * 6) + 1 da enteros 1-6 con probabilidad igual.

¿Cómo generar números de lotería?

Use Fisher-Yates en un array [1..45] y tome los primeros 6 elementos.

Números aleatorios: Verdaderos vs Pseudo

Los ordenadores suelen usar números pseudoaleatorios. Math.random() usa un algoritmo determinista basado en semilla.

¿Por qué Math.random() no es seguro para contraseñas?

Si un atacante conoce la semilla, puede reproducir todos los valores "aleatorios". Use crypto.getRandomValues() para seguridad.

Mezcla Fisher-Yates: Aleatorio sin repetición

Fisher-Yates recorre el arreglo desde el final intercambiando posiciones. Complejidad O(n).

Distribución uniforme y su importancia

Los buenos generadores producen distribución uniforme. Fórmula entera: Math.floor(Math.random() * (max - min + 1)) + min.

Aleatoriedad en juegos y apuestas

La ventaja de la casa en casinos es diseño matemático, no trampa en números aleatorios.

Preguntas frecuentes

¿Qué tan aleatorio es Math.random()?

Pseudoaleatorio, bien distribuido estadísticamente. Para seguridad use crypto.getRandomValues().

¿Fórmula para tirar un dado?

Math.floor(Math.random() * 6) + 1 da enteros 1-6 con probabilidad igual.

¿Cómo generar números de lotería?

Use Fisher-Yates en un array [1..45] y tome los primeros 6 elementos.

Herramientas relacionadas