AD

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

Ver cursos de R en Udemy

Enlace de afiliado. No te cuesta nada extra.

📊Lecciones de R
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 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.

Fíjate en cómo se acumulan los factores: factors <- c(factors, d). Es la forma directa y también la ineficiente, porque copia el vector entero en cada paso. Con números pequeños da igual; en un bucle de cien mil iteraciones es la diferencia entre segundos y minutos, y es el error de rendimiento más común entre quienes empiezan con R.

El bucle interior es el que hace el trabajo real: un número como 8 tiene el factor 2 tres veces.

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 R 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)