AD

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

Ver cursos de Kotlin en Udemy

Enlace de afiliado. No te cuesta nada extra.

🎯Lecciones de Kotlin
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 a la lista y reduce el número.

El código de ejemplo descompone un número y muestra la lista de 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. Los divisores compuestos nunca encajan.

Fíjate en que se declara una variable local para el número: los parámetros en Kotlin son constantes y no se pueden reasignar.

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.

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

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