문제
어떤 수를 소수의 곱으로만 나타내는 것을 소인수분해라 하고,
이 소수들을 그 수의 소인수라고 합니다.
n의 소인수 중에서 가장 큰 수를 구하세요.
input: 13195
ouput: 29 // [5, 7, 13, 29]
풀이
const output = (input) => {
let num = 2
while (num !== Math.floor(input / 2)) {
!(input % num) ? (input = input / num) : num++
}
return input
}
output(10) // 5
output(13195) // 29
output(600851475143) // 6857
[출처: http://euler.synap.co.kr/prob_detail.php?id=3]