# Python Program for How to check if a given number is Fibonacci number?

Last Updated : 08 Aug, 2022

Given a number \’n\’, how to check if n is a Fibonacci number. First few Fibonacci numbers are 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ..
Examples :

Input: 8
Output: Yes

Input: 34
Output: Yes

Input: 41
Output: No

Following is an interesting property about Fibonacci numbers that can also be used to check if a given number is Fibonacci or not.

A number is Fibonacci if and only if one or both of (5*n2 + 4) or (5*n2 – 4) is a perfect square (Source: Wiki).

## Python3

 `# python program to check if x is a perfect square` `import` `math`   `# A utility function that returns true if x is perfect square`     `def` `isPerfectSquare(x):` `    ``s ``=` `int``(math.sqrt(x))` `    ``return` `s``*``s ``=``=` `x`   `# Returns true if n is a Fibonacci Number, else false`     `def` `isFibonacci(n):`   `    ``# n is Fibonacci if one of 5*n*n + 4 or 5*n*n - 4 or both` `    ``# is a perfect square` `    ``return` `isPerfectSquare(``5``*``n``*``n ``+` `4``) ``or` `isPerfectSquare(``5``*``n``*``n ``-` `4``)`     `# A utility function to test above functions` `for` `i ``in` `range``(``1``, ``11``):` `    ``if` `(isFibonacci(i) ``=``=` `True``):` `        ``print``(i, ``"is a Fibonacci Number"``)` `    ``else``:` `        ``print``(i, ``"is a not Fibonacci Number "``)`

Output

```1 is a Fibonacci Number
2 is a Fibonacci Number
3 is a Fibonacci Number
4 is a not Fibonacci Number
5 is a Fibonacci Number
6 is a not Fibonacci Number
7 is a not Fibonacci Number
8 is a Fibonacci Number
9 is a not Fibonacci Number
10 is a not Fibonacci Number ```

Time Complexity: O(1)
Auxiliary Space: O(1)

Please refer complete article on How to check if a given number is Fibonacci number? for more details!