자신을 제외한 최대 약수 구하기

 코딩테스트에서 자신을 제외한 최대 약수가 필요한 부분이 있어 구글 검색 후 만들어본 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차로 약수를 구합니다.
  2. 1차로 구한 약수로 입력한 수를 나누어 나머지 약수를 구합니다.

 위 방법에서 자신을 제외한 최대 약수가 필요했기에 1차 약수에서 1을 제외하여 입력한 수 자신을 제외하고, 그 다음으로 큰 약수를 구하면 바로 반복문을 나오도록 했습니다.

댓글