Sau đây là chương trình Java để kiểm tra xem một số nhất định có phải là Fibonacci hay không -
Ví dụ
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 + " is a Fibonacci number" : i + " is a not Fibonacci number"); } }
Đầu ra
6 is a not Fibonacci number 7 is a not Fibonacci number 8 is a Fibonacci number 9 is a not Fibonacci number 10 is a not Fibonacci number 11 is a not Fibonacci number 12 is a not Fibonacci number 13 is a Fibonacci number 14 is a not Fibonacci number 15 is a not Fibonacci number 16 is a not Fibonacci number 17 is a not Fibonacci number
Một lớp có tên Demo định nghĩa một hàm Boolean tĩnh nhận một giá trị nguyên làm tham số. Nó kiểm tra căn bậc hai của giá trị và gán nó cho một giá trị khác. Nếu tích của căn bậc hai nhân với căn bậc hai bằng giá trị được truyền vào thì nó sẽ được trả về.
Tiếp theo, một hàm tĩnh Boolean khác được định nghĩa để gọi hàm trước đó. Trong hàm chính, số bắt đầu và số kết thúc được lặp lại và thông báo liên quan được in ra cũng như kiểm tra xem mọi số có phải là số Fibonacci hay không.