Check whether a number is Fibonacci or not in Java
In this tutorial, we will see how to determine whether a number is a Fibonacci number or not in Java programming language.
We can verify if a number n is a Fibonacci number by checking if either (5*n^2 + 4) or (5*n^2 – 4) is a perfect square.
Here, we are using isPerfectsq function to check if the number n is a perfect square, and isfibonacci function is used to check if a given number n is a Fibonacci number. It checks whether (5*n^2 + 4) or (5*n^2 – 4) is a perfect square or not using isPerfectsq method. If either of the numbers is a perfect square, then n is considered to be a Fibonacci number.
Let’s see an example for a better understanding of code.
public class is_Fibonacci {
// function to determines whether a given number is a perfect square
static boolean isPerfectSq(int x) {
int s = (int) Math.sqrt(x);
return s * s == x;
}
// Function to determine whether a number is fibonacci or not
static boolean isfibonacci(int n) {
// if (5 * n^2 + 4) or (5 * n^2 - 4) is a perfect square then it is a fibonacci number
return isPerfectSq(5 * n * n - 4) || isPerfectSq(5 * n * n + 4);
}
public static void main(String[] args) {
int number = 13; // number you want to check
if (isfibonacci(number)) {
System.out.println(number + " is in Fibonacci series. Hence, " + number + " is a Fibonacci number.");
} else {
System.out.println(number + " is not in Fibonacci Series. Hence, " + number + " is not a Fibonacci number.");
}
}
}
OUTPUT:
13 is in Fibonacci series. Hence, 13 is a Fibonacci number.
Leave a Reply