Java 程序检查给定数字是否为斐波那契数?

javaobject oriented programmingprogramming更新于 2025/7/9 5:00:17

以下是 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 的类定义了一个静态布尔函数,该函数接受一个整数值作为参数。它检查该值的平方根并将其分配给另一个值。如果平方根乘以平方根的乘积等于传递的值,则返回该值。

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


相关文章


有用资源