Computer >> Máy Tính >  >> Lập trình >> Java

Chương trình Java để kiểm tra xem một số nhất định có phải là số Fibonacci không?

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.