Java Math Exercises: Check if a given number is Fibonacci number or not

Java Math Exercises: Exercise-27 with Solution

Write a Java program to check if a given number is Fibonacci number or not.

Sample Solution:

Java Code:

import java.util.*;

class solution {
  static boolean isPerfectSquare(int x)
       int s = (int) Math.sqrt(x); 
       return (s*s == x);
   static boolean isFibonacci(int x)
         return isPerfectSquare(5*x*x + 4) ||
           isPerfectSquare(5*x*x - 4);

    public static void main(String[] args)
      Scanner scan = new Scanner(System.in);
      System.out.print("Input a number: ");
      int n = scan.nextInt();	       
	  if (n>0)
		 System.out.println("Is Fibonacci number? "+isFibonacci(n)); 

Sample Output:

Input a number:  55
Is Fibonacci number? true


Flowchart: Check if a given number is Fibonacci number or not.

Java Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a Java program to print all prime factors of a given number.
Next: Java Sorting Exercises Home.

What is the difficulty level of this exercise?

Java: Tips of the Day

Simple way to repeat a string:


". ".repeat(7)  // Seven period-with-space pairs: . . . . . . .

New in Java 11 is the method String::repeat that does exactly what you asked for:

String str = "abc";
String repeated = str.repeat(3);

Ref: https://bit.ly/3bNqfWN