everyutil
Version:
A comprehensive library of lightweight, reusable utility functions for JavaScript and TypeScript, designed to streamline common programming tasks such as string manipulation, array processing, date handling, and more.
22 lines (21 loc) • 671 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.primeSieve = void 0;
/**
* Generates all primes up to N using the Sieve of Eratosthenes.
* @author @dailker
* @param {number} n - Upper limit (inclusive).
* @returns {number[]} Array of primes.
*/
function primeSieve(n) {
const sieve = Array(n + 1).fill(true);
sieve[0] = sieve[1] = false;
for (let i = 2; i * i <= n; i++) {
if (sieve[i]) {
for (let j = i * i; j <= n; j += i)
sieve[j] = false;
}
}
return sieve.map((v, i) => v ? i : -1).filter(x => x !== -1);
}
exports.primeSieve = primeSieve;