Kiểm tra số có nằm trong dãy Fibonacci không bằng cách sinh dãy đến khi >= số đó.
Mã thực hiện
const num = 2584;
const isFibonacci = num => {
if (num === 0 || num === 1) return true;
let prev = 1, count = 2, temp = 0;
while (count <= num) {
if (prev + count === num) return true;
temp = prev; prev = count; count += temp;
}
return false;
};
console.log(isFibonacci(num));
console.log(isFibonacci(6765));
console.log(isFibonacci(45));
console.log(isFibonacci(8767));
Kết quả
true true false false