UNPKG

@algorithm.ts/sieve-prime

Version:
23 lines (21 loc) 546 B
function sievePrime(N) { if (N <= 1) return []; let tot = 0; const primes = []; const isNotPrime = new Uint8Array(N); for (let x = 2; x < N; ++x) { if (!isNotPrime[x]) primes[tot++] = x; for (let i = 0; i < tot; ++i) { if (primes[i] * x >= N) break; isNotPrime[primes[i] * x] = 1; if (x % primes[i] === 0) break; } } primes.length = tot; return primes; } export { sievePrime as default, sievePrime };