@algorithm.ts/sieve-prime
Version:
A linear time algorithm to sieve prime numbers
28 lines (24 loc) • 645 B
JavaScript
Object.defineProperty(exports, '__esModule', { value: true });
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;
}
exports["default"] = sievePrime;
exports.sievePrime = sievePrime;
;