CodeGym /Java Blog /무작위의 /Java의 피보나치 수열
John Squirrels
레벨 41
San Francisco

Java의 피보나치 수열

무작위의 그룹에 게시되었습니다
Java의 피보나치 계열 프로그램을 살펴보기 전에 피보나치 수를 계산하는 수학적 방법이 무엇인지 살펴보겠습니다.
“피보나치 수열은 0과 1로 시작하는 수열의 마지막 두 연속 숫자를 더하면 형성됩니다.”
즉, 피보나치 수열에서 다음 숫자는 마지막 두 숫자의 합과 같다고 말할 수 있습니다. 예를 들어 0, 1, 1, 2, 3, 5, 8, 13, 21, 34… 위의 수열을 보면 수학으로 계산하는 것은 꽤 간단해 보입니다. 마지막 두 개의 피보나치 수를 가져와 더하면 됩니다. 결과는 시리즈의 최신 번호입니다. 따라서 피보나치 수열의 다음 숫자는 21 + 34 = 55가 됩니다. 그러나 Java에는 이를 수행하는 다양한 알고리즘이 있습니다. 가능한 방법을 살펴 보겠습니다.

Java의 피보나치 수열 [ 반복 방법 ]

Java에서 피보나치 수열 프로그램을 계산하는 첫 번째이자 가장 기본적인 방법은 반복 방법을 사용하는 것입니다. 이름에서 알 수 있듯이 루프를 사용하여 시리즈를 반복합니다. 다음 예에서 더 자세히 살펴보겠습니다.

public class IterativeFibonacci {

	public static void fibonacci(int MAX) {

		int firstNumber = 0;
		int secondNumber = 1;
		int fibonacci = '\0';

		System.out.print(firstNumber + " ");
		System.out.print(secondNumber + " ");

		for (int i = 2; i < MAX; i++) {

			fibonacci = firstNumber + secondNumber;
			System.out.print(fibonacci + " ");

			firstNumber = secondNumber;
			secondNumber = fibonacci;
		}
	}

	public static void main(String[] args) {

		System.out.println("Print Fibonacci Series Using Iterative Method");
		int MAX = 15;
		fibonacci(MAX);

	}
}

산출

반복 방법을 사용하여 피보나치 수열 인쇄 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377

설명

위의 예에서는 " fibonacci " 라는 메서드를 사용하여 피보나치 수열을 반복적으로 인쇄합니다. 변수 MAX는 인쇄하려는 총 피보나치 수를 저장합니다. 두 변수 firstNumbersecondNumber는 각각 처음 두 개의 피보나치 수를 저장합니다. 그런 다음 for 루프는 i = 2로 시작합니다. 왜냐하면 첫 번째와 두 번째 피보나치 수열이 이미 인쇄되어 있기 때문입니다. 각 반복에서 첫 번째와 두 번째 숫자가 업데이트되어 시리즈가 계속 진행됩니다. MAX 한계에 접근하면 루프가 종료됩니다. 나는 <MAX.

Java에서 재귀를 사용하는 피보나치 시리즈

반복 방법에 익숙하므로 Java에서 재귀를 사용하여 피보나치 수열을 계산해 보겠습니다.

public class RecursiveFibonacci {

	// recursive method to return the fibonacci series
	public static int fibonacci(int MAX) {

		// base case
		if (MAX <= 1) {
			return MAX;
		}

		// recursive call
		else {
			// calculate the last two fibonacci numbers recursively
			return fibonacci(MAX - 2) + fibonacci(MAX - 1);
		}

	}

	public static void main(String[] args) {

		System.out.println("Print Fibonacci Series Using Recursion in Java");

		int MAX = 10;
		for (int i = 0; i < MAX; i++) {
		    System.out.print(fibonacci(i) + " ");
		}
	}
}

산출

Java에서 재귀를 사용하여 피보나치 시리즈 인쇄 0 1 1 2 3 5 8 13 21 34

설명

먼저 Java에서 재귀 피보나치 수열의 MAX 자릿수를 정의합니다. 그런 다음 " fibonacci " 라는 재귀 함수를 호출합니다 . 아시다시피 Java에서 재귀를 사용하려면 2가지 경우를 정의하고 처리해야 합니다. 첫 번째는 기본 사례이고 다른 하나는 재귀 사례입니다. 기본 사례에서는 MAX 값이 1보다 작거나 같은지 확인합니다. 이것이 참이면 동일한 숫자가 반환됩니다(피보나치 0과 1의 처음 두 자리를 상상해 보세요). 이것이 기본 숫자가 계산되는 방법입니다. 재귀 호출에서는 MAX에서 1과 2를 줄여 계열의 마지막 두 숫자를 계산합니다. fibonacci 메소드는 마지막 두 자리(0과 1)에 도달할 때까지 계속 호출하고 이를 추가한 다음 MAX에 도달할 때까지 마지막 두 자리를 계속 추가합니다.

결론

이제 Java에서 피보나치를 계산하는 두 가지 다른 방법을 이해하셨기를 바랍니다. 동적 프로그래밍을 사용하여 스스로에게 도전할 수도 있습니다. 늘 그렇듯, 매일 연습하고 더 나아지기를 바랍니다. 계속 배우고 계속 성장하세요!
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION