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