200.Land

isfibonacci.ts

The JavaScript code defines two utility functions to identify special numeric properties. The isPerfectSquare function determines whether an input number is a perfect square, while the isFibonacci function leverages the former to identify if a number is part of the Fibonacci sequence, following a known mathematical property that relates Fibonacci numbers with perfect squares.

const isPerfectSquare = (n: number): boolean => Number.isInteger(Math.sqrt(n));
const isFibonacci = (n: number): boolean => isPerfectSquare(5 * n * n + 4) || isPerfectSquare(5 * n * n - 4);