약수 빠르게 구하기

민지킴·2022년 12월 15일
0

N의 약수 중 하나가 m이라고 했을 때, 다른 약수는 N/m이 되므로 하나의 약수를 알면 다른 하나의 존재가 보장이 된다.

그럼 1부터 √N까지 구하면 약수 절반의 개수를 구할 수 있다는 걸 알 수 있다.

            int count = 0;
            for (int i = 1; i * i <= N; i++) {
                if (i * i == N) count++;
                else if (N % i == 0) count += 2;
            }
profile
하루하루는 성실하게 인생 전체는 되는대로

0개의 댓글