본문 바로가기
Develop/Algorithm

약수 개수 알고리즘

by jaeyoungb 2022. 11. 18.

기본 구현 코드

public int countDivisors(int n) {
	int count = 0;
	
    for (int i = 1; i <= n; i++) {
    	if (n % i == 0) count++;
    }
    return count;
}

 

시간 복잡도 O(√n) 코드

public int countDivisors(int n) {
	int count = 0;
    
    for (int i = 1; i * i <= n; i++) {
		if (i * i == n) count++;
		else if (n % i == 0) count += 2;
    }
    return count;
}