코딩테스트에서 자신을 제외한 최대 약수가 필요한 부분이 있어 구글 검색 후 만들어본 javascript 함수입니다.
구글 검색에서 나온 약수를 구하는 방식은 다음과 같습니다.
function getLastDivisor(num) { var divisor = 1; if (num > 1) { for (var i = 2; i <= Math.sqrt(num); i++) { if (num % i === 0) { divisor = num / i; break; } } } return divisor; }
- 어떠한 수의 제곱근을 가지고 1차로 약수를 구합니다.
- 1차로 구한 약수로 입력한 수를 나누어 나머지 약수를 구합니다.
위 방법에서 자신을 제외한 최대 약수가 필요했기에 1차 약수에서 1을 제외하여 입력한 수 자신을 제외하고, 그 다음으로 큰 약수를 구하면 바로 반복문을 나오도록 했습니다.
댓글
댓글 쓰기