La regla
cada número se sortea con crypto.getRandomValues, descartando los sorteos sesgados
Por qué funciona
Un número aleatorio de ordenador no lo es en sentido estricto, pero el generador criptográfico del sistema —el mismo que se usa para crear claves— es indistinguible de uno para cualquier uso práctico, y es el que usa esta página. El detalle que casi nadie tiene en cuenta es el sesgo del módulo: coger el resto de un número aleatorio grande entre el tamaño del rango favorece a los primeros valores cuando el rango no divide exactamente al máximo. Con seis caras y un byte la diferencia llega al 1,6 %, pequeña pero real. Aquí los sorteos que caen en la parte sobrante se descartan y se vuelve a tirar, que es la forma correcta de evitarlo.
Cómo hacerlo a mano
- Elige el rango: el primer y el último número que pueden salir, ambos incluidos
- Elige cuántos quieres y si pueden repetirse
- Cada número se sortea con el generador del sistema
- Si el sorteo cae en la zona que introduciría sesgo, se descarta y se repite
Lo que conviene saber
Sin repetición, la cantidad no puede pasar del tamaño del rango: seis números del 1 al 49 se pueden sortear, pero diez del 1 al 5 no, y la página lo dice en vez de quedarse colgada. Con decimales la opción de no repetir desaparece, porque la probabilidad de que coincidan dos números con varios decimales es prácticamente nula y filtrarla solo complicaría el sorteo. Un aviso para sorteos con premio: si necesitas que el resultado sea verificable por terceros, esto no basta; hace falta un método público y reproducible, con una semilla que todos puedan comprobar después.