August 7th 2018
차례 - 소수란? (Prime factor) - 소수 구하는 방법? - 문제해결방법
소수란?(Prime factor) - 소수란 약수로 1과 자기 자신만을 가지는 수이다.
소수를 구하는 방법 - 주어진 수보다 작은 수로 나누어 떨어지면 소수가 아니다. - 별도로 소수를 구하는 공식은 현재는 없는 것 같다...;
문제해결방법 - 특정 수의 가장 큰 소인수 구하기
function largestPrimeNumber(number) {
var divisor = 2;
while (divisor <= number) {
if (number % divisor === 0) {
number /= divisor;
} else {
divisor++;
}
}
return divisor;
}
largestPrimeNumber(10); // --> 5
largestPrimeNumber(13); // --> 13
- 위의 코드를 보면, 1은 소수가 아니기 때문에 주어진 수를 나눌 수를 2부터 시작 했습니다. - 소인수를 구하려면 나눗수가(divisor) 나눌수보다 작아야 하기 때문에 while문의 조건으로 나눗수의 범위를 지정해 주었습니다. (divisor <= number) - divisor로 주어진 수가 나누어 떨어지면, 해당 수를 divisor로 나누기를 합니다. divisor로 나누어 떨어지지 않으면 divisor + 1을 실행해 줍니다. - while문의 조건에 부합하지 않을 때까지 반복문을 실행한 후 종료합니다. - 반환된 divisor는 주어진 수의 가장 큰 소인수가 됩니다. - 위 코드는 stackoverflow를 참고 했습니다.