function isPrime(n) {
if (n < 2) return false;
if (n === 2 || n === 3) return true;
if (n % 2 === 0) return false;
for (let i = 3; i * i <= n; i += 2) {
if (n % i === 0) return false;
}
return true;
}
function nextFib(state) {
const f = state[0];
const next = state[0] + state[1];
state[0] = state[1];
state[1] = next;
return f;
}
const fibState = [1, 1];
let count = 0;
while (count < 10) {
const f = nextFib(fibState);
if (isPrime(f)) {
process.stdout.write(f + " ");
count++;
}
}
/*
run:
2 3 5 13 89 233 1597 28657 514229 433494437
*/