UNPKG

@algorithm.ts/sieve-prime

Version:
28 lines (24 loc) 645 B
'use strict'; 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;