[알고리즘이론] 약수의 판별

김종현·2024년 11월 11일
0

알고리즘

목록 보기
3/8

이론

  • 제곱수인 경우에는 약수의 개수가 홀수. 예를 들어 16의 약수는 1, 2, 4, 8, 16인데, 4가 두 번 카운트, 따라서 약수 개수가 홀수.
  • 제곱수가 아닌 경우에는 약수 개수가 항상 짝수. 예를 들어 12의 약수는 1, 2, 3, 4, 6, 12로 약수 개수가 짝수.

이론 구현

제곱수 판별 방법

어떤 수 n에 대해 Math.sqrt(n) 값이 정수라면 n은 제곱수. 이때, 정수 여부는 Number.isInteger()를 사용하여 확인.

문제

풀이

function solution(left, right) {
    let sum = 0;

    for (let num = left; num <= right; num++) {
        const isSquare = Number.isInteger(Math.sqrt(num));
        sum += isSquare ? -num : num;
    }

    return sum;
}
profile
고양이 릴스 매니아

0개의 댓글