mojo's Blog

에라스토테네스의 체 본문

백준/etc

에라스토테네스의 체

_mojo_ 2021. 7. 22. 14:46

특정 범위 내에서 소수를 전부 구하고 싶을때 효율적인 방법은 에라토스테네스의 체이다.

 

O(N) 만큼의 Memory를 사용하여 O(Nlog(logN)) 만에 특정 범위 내의 소수를 전부 구할 수 있다.

 

에라스토테네스의 체를 구하는 Code

 

bool is_prime[1000005];

void sieve() {
	for(int i=2; i<=1000000; i++) is_prime[i]=true;
	for(int i=2; i<=1000000; i++) {
		if(is_prime[i]) {
			for(int j=i+i; j<=1000000; j+=i) is_prime[j]=false;
		}
	}
}

'백준 > etc' 카테고리의 다른 글

[백준 1222] 홍준 프로그래밍 대회  (0) 2021.07.22
[백준 16563] 어려운 소인수분해  (0) 2021.07.22
소인수분해 하는 방법  (0) 2021.07.22
[백준 4256] 트리  (0) 2021.07.18
[백준 4779] 칸토어 집합  (0) 2021.07.18
Comments