LearnTS/03-PrimeNumbers/index.ts

40 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)
}
}
}