¿Qué es la criba de Eratóstenes?
La criba de Eratóstenes es un algoritmo para enumerar los números primos menores o iguales a un cierto número. El algoritmo es simple y se puede implementar con los siguientes pasos:
- Crear un arreglo de valores booleanos de tamaño N e inicializar todos los elementos a true.
- Establecer el 0º y 1º elemento del arreglo a false (porque 0 y 1 no son primos).
- Si el 2º elemento del arreglo es true, mostrar 2 como número primo.
- Establecer a false todos los elementos del arreglo que sean múltiplos de 2 mayores o iguales a $2^2$*.
- Si el 3º elemento del arreglo es true, mostrar 3 como número primo.
- Establecer a false todos los elementos del arreglo que sean múltiplos de 3 mayores o iguales a $3^2$.
- Repetir el mismo proceso para el 4º, 5º, …, N-ésimo elemento.
*Se dirigen los elementos a partir del cuadrado para convertirlos a false porque los números más pequeños que el cuadrado ya han sido procesados (su enumeración se ha completado).

Implementación en Rust
| |
Una versión un poco más rápida
Realizaremos una implementación ligeramente más rápida considerando los siguientes puntos:
- Inicializar el arreglo a false en lugar de true (esto es más rápido).
- Omitir el proceso de establecer en false los elementos múltiplos de 2, ya que no son primos.
- No es necesario iterar hasta n; si enumeramos los primos hasta la raíz cuadrada de n, podremos enumerar todos los primos menores o iguales a n.
| |
