AD

¿Ya dominas lo básico? Un curso estructurado de Ruby es la vía rápida para dar el salto.

Ver cursos de Ruby en Udemy

Enlace de afiliado. No te cuesta nada extra.

💎Lecciones de Ruby
Lección 60 / 68

Comprobar si un número es primo

En esta lección determinarás si un número solo es divisible por 1 y por sí mismo.

Se prueban los divisores desde 2 y basta con llegar hasta la raíz cuadrada: si un número tiene un divisor mayor que su raíz, tiene forzosamente otro menor, que ya habríamos encontrado. Por eso el bucle usa Math.sqrt(n).

El código de ejemplo comprueba varios números.

Los casos límite son los que se olvidan: el 1 no es primo, y los negativos tampoco. Por eso la primera línea descarta todo lo menor que 2. Es un ejemplo típico de que la condición de entrada importa tanto como el algoritmo.

Ruby tiene además una biblioteca prime en la estándar, con require 'prime', que ofrece Prime.prime?(n) y un generador de primos. Implementarlo a mano, como aquí, sirve para ver de dónde sale la optimización de la raíz cuadrada.

Los números primos sostienen la criptografía de clave pública: RSA se apoya en que multiplicar dos primos enormes es fácil y deshacer esa multiplicación es, con los medios actuales, inviable.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Ruby directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)