2010 Ejercicio 3: Calcular el mayor factor primo de un número compuesto
De Software Libre para la Enseñanza y el Aprendizaje de las Matemáticas (2010-11)
Enunciado
Los factores primos de 13195 son 5, 7, 13 y 29.
¿Cuál es el mayor factor primo del número 600851475143 ?
Solución
La solución es directa
(%i1) last(factor(600851475143)); (%o1) 6857
Solución 2
Solución en lenguaje Groovy. Utilizando el algoritmo que usábamos en el colegio para construir la lista de factores y luego quedándome con el último de la lista. Obsérvese el uso de variables de tipo BigInteger.
BigInteger numero = 600851475143
BigInteger divisor = 1
def factores = []
while (numero > 1) {
divisor = divisor + 1
while (numero % divisor == 0) {
factores << divisor
numero = numero / divisor
}
}
println factores
println 'Solución: ' + factores.last()
