Solución
solution.tsTypeScript
const FIBONACCI_FACTOR = 5;
const FIBONACCI_OFFSET = 4;
function isPerfetSquare(x: number): boolean {
const s = Math.sqrt(x);
return Number.isInteger(s);
}
function isFibonacci(n: number): boolean {
if (n < 0) return false;
const nSquared = n ** 2;
const plushCheck = FIBONACCI_FACTOR * nSquared + FIBONACCI_OFFSET;
const minusCheck = FIBONACCI_FACTOR * nSquared - FIBONACCI_OFFSET;
return isPerfetSquare(plushCheck) || isPerfetSquare(minusCheck);
}
// No modificar: necesario para evaluar el resultado.
export { isFibonacci };0respuestas