isFibonacci property
bool
get
isFibonacci
Returns true if this number is a Fibonacci number.
13.isFibonacci // true
14.isFibonacci // false
Implementation
bool get isFibonacci {
bool isPerfectSquare(int n) {
final s = math.sqrt(n).toInt();
return s * s == n;
}
final n = toInt();
if (n < 0) return false;
return isPerfectSquare(5 * n * n + 4) || isPerfectSquare(5 * n * n - 4);
}