Open In App

How to Check if a Given Number is Fibonacci number – Python

Last Updated : 28 Apr, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

Fibonacci numbers are part of a famous sequence where each number is the sum of the two preceding ones, i.e. F(n) = F(n-1) + F(n-2). The sequence starts as:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, …

Notice that every number is equal to the sum of its previous 2 numbers.

In this article, we will learn how to identify if a given number belongs to the Fibonacci series or not.

Examples : 

Input: 8
Output: Yes

Input: 31
Output: No

Fibonacci Number Check Using a Mathematical Property

A number n is a Fibonacci number if and only if one or both of (5*n² + 4) or (5*n² – 4) is a perfect square.

The above mathematical expression is derived from the closed-form expression of Fibonacci numbers (Binet’s Formula) and some number theory. It’s fast and doesn’t require generating the Fibonacci sequence. Let’s look at the code implementation in Python:

Python
import math

def is_perfect_sq(x):
    s = int(math.sqrt(x))
    return s * s == x

def is_fibonacci(n):
    return is_perfect_sq(5 * n * n + 4) or is_perfect_sq(5 * n * n - 4)

for i in range(1, 7):
    if is_fibonacci(i):
        print(f"{i} is a Fibonacci Number")
    else:
        print(f"{i} is not a Fibonacci Number")

Output
1 is a Fibonacci Number
2 is a Fibonacci Number
3 is a Fibonacci Number
4 is not a Fibonacci Number
5 is a Fibonacci Number
6 is not a Fibonacci Number

Explanation:

1. is_perfect_sq(x):

  • Calculates the integer square root of x.
  • Returns True if x is a perfect square, else False.

2. is_fibonacci(n):

  • Applies the mathematical identity:
  • A number n is Fibonacci if 5*n² + 4 or 5*n² – 4 is a perfect square.
  • Calls is_perfect_sq() on both expressions to check this.

3. Loop: Iterates through numbers 1 to 6 and prints whether each number is a Fibonacci number based on the result from is_fibonacci().

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



Article Tags :

Similar Reads