algorithm,

알고리즘 풀이

FreeVue FreeVue Follow Apr 22, 2019 · 1 min read
알고리즘 풀이
Share this

문제

어떤 수를 소수의 곱으로만 나타내는 것을 소인수분해라 하고,
이 소수들을 그 수의 소인수라고 합니다.

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]