AD

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

Ver cursos de Julia en Udemy

Enlace de afiliado. No te cuesta nada extra.

🟣Lecciones de Julia
Lección 67 / 68

Descomponer en factores primos

En esta lección obtendrás los factores primos de un número.

Se prueba dividir por 2 mientras se pueda, luego por 3, y así sucesivamente. Cada división exacta añade ese divisor al resultado.

El código de ejemplo descompone un número y muestra los factores.

Lo que resulta poco intuitivo es que no hace falta comprobar si el divisor es primo. Cuando llegas al 4, todos los factores 2 ya se han extraído, así que ninguna potencia de 2 puede dividir lo que queda.

Fíjate en Int[] al declarar el array de factores: con el tipo indicado, Julia reserva memoria del tamaño correcto y push! es rápido. Es la misma costumbre que aparece en las otras lecciones y una de las que más rendimiento aportan.

El bucle interior es el que hace el trabajo real: un número como 8 tiene el factor 2 tres veces, y hay que dividir mientras se pueda antes de pasar al siguiente candidato.

Conviene tener presente el límite: este método es rápido con números pequeños y completamente inviable con números de cientos de cifras. Esa dificultad es lo que sostiene la seguridad de RSA. Para trabajo real existe factor en Primes.jl.

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

🧪 Este sitio no puede compilar ni ejecutar Julia 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)