以下是检查给定数字是否为斐波那契的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 函数中,起始数字和结束数字被迭代,相关的信息被打印出来,同时检查每个数字是否是斐波那契数列。