mirror of
https://github.com/Hizenberg469/Algorithms-snippets.git
synced 2026-04-19 22:52:23 +03:00
Prime Sieve
This commit is contained in:
18
Number Theory/prime_sieve.cpp
Normal file
18
Number Theory/prime_sieve.cpp
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
#define MAX_N 5000001
|
||||||
|
bool is_prime[MAX_N];
|
||||||
|
|
||||||
|
bool is_sieve_eval = false;
|
||||||
|
|
||||||
|
void sieve_erathosis(){
|
||||||
|
if( is_sieve_eval ) return;
|
||||||
|
is_sieve_eval = true;
|
||||||
|
memset(is_prime,0,sizeof(is_prime));
|
||||||
|
is_prime[0] = true , is_prime[1] = true;
|
||||||
|
for(int num = 2 ; num*num < MAX_N ; num++ ){
|
||||||
|
if( !is_prime[num] ){
|
||||||
|
for(int val = num*num ; val < MAX_N ; val += num ){
|
||||||
|
is_prime[val] = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user