41 lines
894 B
TypeScript
41 lines
894 B
TypeScript
|
import { deepStrictEqual } from "assert";
|
||
|
|
||
|
function prime(start: number, stop: number) {
|
||
|
let primes = [2, 3];
|
||
|
for (; start < stop; start++) {
|
||
|
if (start == 1 || start == 2 || start == 3) {
|
||
|
continue;
|
||
|
}
|
||
|
if (start % 2 == 0) {
|
||
|
continue
|
||
|
} else {
|
||
|
let is_prime = true;
|
||
|
for (let old_prime of primes) {
|
||
|
if (!(start % old_prime)) {
|
||
|
is_prime = false;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (is_prime) {
|
||
|
primes.push(start);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
return primes
|
||
|
}
|
||
|
|
||
|
test()
|
||
|
|
||
|
function test() {
|
||
|
let expexted = [2, 3, 5, 7];
|
||
|
let primes = prime(0, 10);
|
||
|
try {
|
||
|
deepStrictEqual(primes, expexted);
|
||
|
} catch (err) {
|
||
|
if (err instanceof Error) {
|
||
|
console.error(err.message)
|
||
|
}
|
||
|
}
|
||
|
}
|