Extraiga un conjunto de números enteros aleatorios de un intervalo inclusivo configurable, opcionalmente sin duplicados — un generador de números aleatorios de uso general para juegos, sorteos de premios pequeños y ejercicios de estadística.
Algoritmo
Dados from, to y numberToExtract:
- Validar que ambos límites son enteros y
from ≤ to. - Si los duplicados están prohibidos, exigir que la amplitud del intervalo (
to − from + 1) sea al menos tan grande como la cantidad pedida. - Extraer repetidamente un entero uniforme en
[from, to]hasta alcanzar la cantidad; si no hay duplicados, rechazar valores ya presentes en el resultado.
Los resultados se ordenan de forma ascendente para facilitar la lectura.
Cuándo usarlo
Elegir ganadores aleatorios para un sorteo pequeño, crear conjuntos de práctica para una clase de estadística, simular tiradas de dados para una noche de juegos, o enseñar probabilidad con extracciones reproducibles (vía opciones de semilla de la API programática en desarrollo).
Limitaciones
La aleatoriedad usa el generador seudoaleatorio del entorno — apto para juegos casuales y demos, no para certificación criptográfica ni de alta garantía. Intervalos muy grandes con muchas extracciones y sin duplicados pueden acercarse a límites de rendimiento por el muestreo por rechazo interno.
Ejemplo
Con from = 1, to = 90 y numberToExtract = 6 sin duplicados, la herramienta devuelve seis enteros ascendentes, por ejemplo 4 17 29 41 63 88.