Solución
solution.tsTypeScript
function goldbachPair(n: number): number[] {
const primos = primLess(n);
const set = new Set(primos);
for (const primo of primos) {
const complement = n - primo;
if (set.has(complement)) {
return [primo, complement];
}
}
return [];
}
function primLess(n: number): number[] {
const primo = Array(n).fill(true);
primo[0] = primo[1] = false;
for (let i = 2; i * i < n; i++) {
if (!primo[i]) continue;
for (let j = i * i; j < n; j += i) {
primo[j] = false;
}
}
return primo.flatMap((es, i) => es ? [i] : []);
}
// No modificar: necesario para evaluar el resultado.
export { goldbachPair };0respuestas