# Generador de números primos

> Enumera todos los números primos en un rango dado o elige N números primos al azar. Cálculo instantáneo en el navegador, sin servidor ni esperas.

URL: https://acrafto.com/es/generador-numeros-primos-online/

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

## ¿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
```

## Preguntas frecuentes (FAQ)

### ¿Es 1 un número primo?

No. El número 1 tradicionalmente no se considera un número primo. La razón es matemática: si consideráramos el 1 como primo, el teorema fundamental de la aritmética (o teorema de factorización única) perdería su validez.

### ¿Es 2 un número primo?

Sí. El número 2 es el número primo más pequeño y el único par. Todos los demás números pares son divisibles por dos y, por lo tanto, compuestos.

### ¿Cuántos números primos existen?

Infinitos. Euclides lo demostró alrededor del año 300 a.C. con una elegante prueba por contradicción: supongamos que solo existe un número finito de números primos. Su producto + 1 no sería divisible por ninguno de ellos, lo que significaría que es un nuevo número primo, una contradicción.

### ¿Qué son los primos gemelos?

Los primos gemelos son pares de números primos que difieren en 2, por ejemplo, (3, 5), (11, 13), (17, 19), (41, 43). Si existen infinitos, es una pregunta aún sin resolver en matemáticas (Conjetura de los primos gemelos).

### ¿Qué tan rápido funciona el algoritmo?

La Criba de Eratóstenes tiene una complejidad temporal de O(n log log n). Para un rango de hasta 10 millones, el cálculo en el navegador suele completarse en menos de 100 ms.

## Other languages

- Čeština (cs): [Generátor prvočísel](https://acrafto.com/cs/generator-prvocisel/) ([Markdown](https://acrafto.com/cs/generator-prvocisel/index.md))
- Slovenčina (sk): [Generátor prvočísel](https://acrafto.com/sk/generator-prvocisel/) ([Markdown](https://acrafto.com/sk/generator-prvocisel/index.md))
- English (en): [Prime Number Generator](https://acrafto.com/en/prime-number-generator/) ([Markdown](https://acrafto.com/en/prime-number-generator/index.md))
- Deutsch (de): [Primzahlgenerator](https://acrafto.com/de/online-primzahl-generator/) ([Markdown](https://acrafto.com/de/online-primzahl-generator/index.md))
- Français (fr): [Générateur de nombres premiers](https://acrafto.com/fr/generateur-nombres-premiers/) ([Markdown](https://acrafto.com/fr/generateur-nombres-premiers/index.md))
- Italiano (it): [Generatore di numeri primi](https://acrafto.com/it/generatore-numeri-primi/) ([Markdown](https://acrafto.com/it/generatore-numeri-primi/index.md))
- Português (pt): [Gerador de números primos](https://acrafto.com/pt/gerador-numeros-primos-online/) ([Markdown](https://acrafto.com/pt/gerador-numeros-primos-online/index.md))
- Nederlands (nl): [Priemgetallengenerator](https://acrafto.com/nl/online-priemgetalgenerator/) ([Markdown](https://acrafto.com/nl/online-priemgetalgenerator/index.md))
- Polski (pl): [Generator liczb pierwszych](https://acrafto.com/pl/generator-liczb-pierwszych/) ([Markdown](https://acrafto.com/pl/generator-liczb-pierwszych/index.md))
- Română (ro): [Generator numere prime](https://acrafto.com/ro/generator-numere-prime-online/) ([Markdown](https://acrafto.com/ro/generator-numere-prime-online/index.md))
- Magyar (hu): [Prímszám generátor](https://acrafto.com/hu/primszam-generator/) ([Markdown](https://acrafto.com/hu/primszam-generator/index.md))
- Ελληνικά (el): [Γεννήτρια πρώτων αριθμών](https://acrafto.com/el/gennitria-proton-arithmon-online/) ([Markdown](https://acrafto.com/el/gennitria-proton-arithmon-online/index.md))
- Български (bg): [Генератор на прости числа](https://acrafto.com/bg/generator-na-prosti-chisla-onlajn/) ([Markdown](https://acrafto.com/bg/generator-na-prosti-chisla-onlajn/index.md))
- Hrvatski (hr): [Generator prostih brojeva](https://acrafto.com/hr/generator-prostih-brojeva-online/) ([Markdown](https://acrafto.com/hr/generator-prostih-brojeva-online/index.md))
- Slovenščina (sl): [Generator praštevil](https://acrafto.com/sl/generator-prastevil/) ([Markdown](https://acrafto.com/sl/generator-prastevil/index.md))
- Eesti (et): [Algarvude generaator](https://acrafto.com/et/algarvude-generaator/) ([Markdown](https://acrafto.com/et/algarvude-generaator/index.md))
- Latviešu (lv): [Pirmskaitļu ģenerators](https://acrafto.com/lv/primskaitlu-generators/) ([Markdown](https://acrafto.com/lv/primskaitlu-generators/index.md))
- Lietuvių (lt): [Pirminių skaičių generatorius](https://acrafto.com/lt/pirminiu-skaiciu-generatorius/) ([Markdown](https://acrafto.com/lt/pirminiu-skaiciu-generatorius/index.md))
- Svenska (sv): [Primtalsgenerator](https://acrafto.com/sv/primtalsgenerator-online/) ([Markdown](https://acrafto.com/sv/primtalsgenerator-online/index.md))
- Dansk (da): [Primtalsgenerator](https://acrafto.com/da/primtal-generator-online/) ([Markdown](https://acrafto.com/da/primtal-generator-online/index.md))
- Suomi (fi): [Alkulukugeneraattori](https://acrafto.com/fi/alkuluku-generaattori/) ([Markdown](https://acrafto.com/fi/alkuluku-generaattori/index.md))
- Norsk (no): [Primtallsgenerator](https://acrafto.com/no/primtallsgenerator/) ([Markdown](https://acrafto.com/no/primtallsgenerator/index.md))
- Українська (uk): [Генератор простих чисел](https://acrafto.com/uk/generator-prostyh-chysel/) ([Markdown](https://acrafto.com/uk/generator-prostyh-chysel/index.md))
- Русский (ru): [Генератор простых чисел](https://acrafto.com/ru/generator-prostykh-chisel-onlayn/) ([Markdown](https://acrafto.com/ru/generator-prostykh-chisel-onlayn/index.md))
- Српски (sr): [Generator prostih brojeva](https://acrafto.com/sr/generator-prostih-brojeva-online/) ([Markdown](https://acrafto.com/sr/generator-prostih-brojeva-online/index.md))
- Македонски (mk): [Генератор на прости броеви](https://acrafto.com/mk/generator-na-prosti-broevi/) ([Markdown](https://acrafto.com/mk/generator-na-prosti-broevi/index.md))
- Bosanski (bs): [Generator prostih brojeva](https://acrafto.com/bs/generator-prostih-brojeva/) ([Markdown](https://acrafto.com/bs/generator-prostih-brojeva/index.md))
- Shqip (sq): [Gjenerator numrash të thjeshtë](https://acrafto.com/sq/gjenerator-numrash-te-thjeshte/) ([Markdown](https://acrafto.com/sq/gjenerator-numrash-te-thjeshte/index.md))
- Türkçe (tr): [Asal sayı bulucu](https://acrafto.com/tr/asal-sayi-olusturucu/) ([Markdown](https://acrafto.com/tr/asal-sayi-olusturucu/index.md))
- 日本語 (ja): [素数一覧・生成ツール](https://acrafto.com/ja/online-prime-number-generator/) ([Markdown](https://acrafto.com/ja/online-prime-number-generator/index.md))
- 한국어 (ko): [소수 구하기](https://acrafto.com/ko/prime-number-generator/) ([Markdown](https://acrafto.com/ko/prime-number-generator/index.md))
- العربية (ar): [مولد الأعداد الأولية](https://acrafto.com/ar/prime-number-generator/) ([Markdown](https://acrafto.com/ar/prime-number-generator/index.md))
- हिन्दी (hi): [अभाज्य संख्या जनरेटर](https://acrafto.com/hi/prime-generator/) ([Markdown](https://acrafto.com/hi/prime-generator/index.md))
- Bahasa Indonesia (id): [Generator bilangan prima](https://acrafto.com/id/generator-bilangan-prima-online/) ([Markdown](https://acrafto.com/id/generator-bilangan-prima-online/index.md))
- Tiếng Việt (vi): [Trình tạo số nguyên tố](https://acrafto.com/vi/bo-tao-so-nguyen-to-truc-tuyen/) ([Markdown](https://acrafto.com/vi/bo-tao-so-nguyen-to-truc-tuyen/index.md))
- ไทย (th): [หาจำนวนเฉพาะ](https://acrafto.com/th/prime-number-generator/) ([Markdown](https://acrafto.com/th/prime-number-generator/index.md))
- עברית (he): [מחולל מספרים ראשוניים](https://acrafto.com/he/prime-number-generator/) ([Markdown](https://acrafto.com/he/prime-number-generator/index.md))
