Generador de Números Primos Online
¿Qué es un número primo?
Un número primo es un número natural mayor que 1 que solo es divisible por 1 y por sí mismo. Los números primos más pequeños son 2, 3, 5, 7, 11, 13, 17, 19, 23, 29… El número 2 es el único número primo par; todos los demás números pares son divisibles por dos.
Números como 4 (= 2 × 2), 6 (= 2 × 3) o 15 (= 3 × 5) no son números primos; los llamamos números compuestos.
¿Cómo funciona el generador?
Para listar todos los números primos en un rango, utilizamos la Criba de Eratóstenes, uno de los algoritmos más antiguos y eficientes, descrito por el matemático griego Eratóstenes de Cirene alrededor del año 240 a.C.
El algoritmo elimina progresivamente los múltiplos de cada número primo encontrado. Lo que queda son los números primos. Todo el cálculo se realiza directamente en su navegador, sin enviar datos al servidor.
Para la selección aleatoria, el generador primero crea una lista de todos los números primos en el rango y luego selecciona aleatoriamente la cantidad deseada utilizando un generador criptográficamente seguro (crypto.getRandomValues()).
Funciones del generador
- Todos los primos – lista cada número primo en el rango especificado (máx. 10.000)
- Selección aleatoria – selecciona N números primos aleatorios del rango (apto para rangos grandes)
- Ordenar – ordena los resultados de forma ascendente
- Separador – elija cómo se separarán los números al copiar
- Preajustes rápidos – los rangos más comunes con un solo clic
¿Dónde se utilizan los números primos?
Criptografía y seguridad
Los números primos son la base de la criptografía moderna. Algoritmos como RSA funcionan bajo el principio de que el producto de dos números primos grandes es fácil de calcular, pero la descomposición inversa en factores primos es computacionalmente muy difícil.
- Cifrado RSA – las claves se generan a partir de dos números primos grandes
- Diffie-Hellman – intercambio de claves sobre un módulo primo
- Funciones hash – números primos como constantes mágicas (SHA, MD5)
Matemáticas y ciencia
- Teoría de números – bloques de construcción fundamentales de los números enteros
- Conjetura de Goldbach – todo número par > 2 puede expresarse como la suma de dos números primos (aún no demostrado)
- Hipótesis de Riemann – uno de los problemas de Hilbert, relacionado con la distribución de los números primos
Uso práctico
- Tablas hash – el tamaño de la tabla como número primo reduce las colisiones
- Generadores de números pseudoaleatorios – congruencia lineal con un módulo primo
- Música y ritmo – polirritmos con duraciones de ciclo primas
Distribución de los números primos
Los números primos se distribuyen irregularmente entre los números naturales, pero su densidad disminuye a medida que aumenta el rango. Esto lo describe el Teorema de los números primos: el número de primos hasta N es aproximadamente N / ln(N).
| Rango | Cantidad de primos |
|---|---|
| 1–10 | 4 |
| 1–100 | 25 |
| 1–1 000 | 168 |
| 1–10 000 | 1 229 |
| 1–100 000 | 9 592 |
| 1–1 000 000 | 78 498 |
Criba de Eratóstenes paso a paso
Rango 2–30:
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]
1. Selecciona 2, elimina sus múltiplos: 4, 6, 8, 10, 12...
2. Selecciona 3, elimina sus múltiplos: 9, 15, 21, 27...
3. Selecciona 5, elimina sus múltiplos: 25...
4. √30 ≈ 5.5 → terminado
Números primos: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29
Criba de Eratóstenes en código
JavaScript
function sieve(to) {
const composite = new Uint8Array(to + 1);
const primes = [];
for (let p = 2; p <= to; p++) {
if (composite[p]) continue;
primes.push(p);
for (let j = p * p; j <= to; j += p) composite[j] = 1;
}
return primes;
}
Python
def sieve(n):
composite = bytearray(n + 1)
primes = []
for p in range(2, n + 1):
if not composite[p]:
primes.append(p)
for j in range(p * p, n + 1, p):
composite[j] = 1
return primes