Dưới đây là chương trình Java kiểm tra số cho trước có phải số Fibonacci:
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 + " là số Fibonacci" : i + " không phải số Fibonacci");
}
}
Kết quả
6 không phải số Fibonacci 7 không phải số Fibonacci 8 là số Fibonacci 9 không phải số Fibonacci 10 không phải số Fibonacci 11 không phải số Fibonacci 12 không phải số Fibonacci 13 là số Fibonacci 14 không phải số Fibonacci 15 không phải số Fibonacci 16 không phải số Fibonacci 17 không phải số Fibonacci
Lớp Demo định nghĩa hàm Boolean tĩnh nhận số nguyên. Kiểm tra căn bậc hai và gán cho giá trị khác. Nếu tích căn bậc hai nhân căn bậc hai bằng giá trị truyền vào, trả về true.
Hàm Boolean tĩnh khác gọi hàm trước. Trong main, số bắt đầu và kết thúc được duyệt, in thông báo và kiểm tra mỗi số có phải Fibonacci.