Java程序检查给定的数字是否是斐波纳契数

以下是检查给定数字是否为斐波那契的Java程序-

示例

public class Demo{
   static boolean perfect_square_check(int val){
      int s = (int) Math.sqrt(val);
      return (s*s == val);
   }
   static boolean fibonacci_num_check(int n){
      return perfect_square_check(5*n*n + 4) || perfect_square_check(5*n*n - 4);
   }
   public static void main(String[] args){
      for (int i = 6; i <= 17; i++)
      System.out.println(fibonacci_num_check(i) ? i + " 是斐波那契数" :
      i + " 不是斐波那契数");
   }
}

输出结果

6 不是斐波那契数
7 不是斐波那契数
8 是斐波那契数
9 不是斐波那契数
10 不是斐波那契数
11 不是斐波那契数
12 不是斐波那契数
13 是斐波那契数
14 不是斐波那契数
15 不是斐波那契数
16 不是斐波那契数
17 不是斐波那契数

一个名为 Demo 的类定义了一个静态布尔函数,它接受一个整数值作为参数。它检查该值的平方根并将其赋给另一个值。如果平方根乘以平方根的乘积等于传递的值,则返回该值。

接下来,定义另一个布尔静态函数来调用前面的函数。在 main 函数中,起始数字和结束数字被迭代,相关的信息被打印出来,同时检查每个数字是否是斐波那契数列。