$cat templates/sieve
Sieve of Eratosthenes
Fast prime sieve up to N
#prime#sieve#number-theory
$cat code/
cpp
01
02
03
04
05
06
07
08
09
vector<bool> sieve(int n) {
vector<bool> is_prime(n + 1, true);
is_prime[0] = is_prime[1] = false;
for (int i = 2; i * i <= n; i++)
if (is_prime[i])
for (int j = i * i; j <= n; j += i)
is_prime[j] = false;
return is_prime;
}9 linesutf-8