본문 바로가기
알고리즘/메모

에라토스테네스, 소수

by sun__ 2019. 8. 18.

필요한것 : 불린형 배열

bool isPrime[MAX+1];
fill(isPrime, isPrime + MAX+1, true);
isPrime[1] = false;
for (int i = 2; i <= MAX; i++) {
	if (!isPrime[i]) continue;
	for (int j = i * i; j <= MAX; j += i)
		isPrime[j] = false;
}

 

j = i*i부터 탐색하는 이유는 i의 배수 중 i*2는 2의 배수때 걸러졌고, i*3은 3의 배수 때 걸러졌고...

 

O(nloglogn)

'알고리즘 > 메모' 카테고리의 다른 글

벨만포드, SPFA  (0) 2019.08.18
다익스트라  (0) 2019.08.18
Segment Tree, LIS  (0) 2019.08.18
Union Find (=disjoint set)  (0) 2019.08.18
GCD 함수  (0) 2019.08.18