다음은 주어진 숫자가 피보나치인지 확인하는 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 + " is a Fibonacci number" : i + " is a not Fibonacci number"); } }
출력
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
Demo라는 클래스는 정수 값을 매개변수로 사용하는 정적 부울 함수를 정의합니다. 값의 제곱근을 확인하고 다른 값에 할당합니다. 제곱근에 제곱근을 곱한 값이 전달된 값과 같으면 반환됩니다.
다음으로 이전 함수를 호출하는 또 다른 부울 정적 함수가 정의됩니다. 메인 함수에서는 시작 번호와 끝 번호를 반복하며, 모든 번호가 피보나치 수인지 확인함과 동시에 해당 메시지가 출력됩니다.