피보나치 수열 Java 재귀 및 루프 프로그램 사용

피보나치 수열이란 무엇입니까? Java?

A 피보나치 시리즈 in Java 다음 숫자가 이전 두 숫자의 합인 숫자 시리즈입니다. 피보나치 시리즈의 처음 두 숫자는 0과 1입니다. 피보나치 숫자는 두 정수의 최대 공약수를 결정하는 알고리즘의 계산 런타임 연구에서 상당히 사용됩니다.

산술에서 와이토프 배열은 피보나치 수열에서 나오는 무한한 숫자 행렬입니다.

The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...

피보나치 시리즈 프로그램 Java For 루프 사용

//Using  For Loop
public class FibonacciExample {
	public static void main(String[] args) 
	{
		// Set it to the number of elements you want in the Fibonacci Series
		 int maxNumber = 10; 
		 int previousNumber = 0;
		 int nextNumber = 1;
	        System.out.print("Fibonacci Series of "+maxNumber+" numbers:");
	        for (int i = 1; i <= maxNumber; ++i)
	        {
	            System.out.print(previousNumber+" ");
	            /* On each iteration, we are assigning second number
	             * to the first number and assigning the sum of last two
	             * numbers to the second number
	             */
 
	      
	            int sum = previousNumber + nextNumber;
	            previousNumber = nextNumber;
	            nextNumber = sum;
	        }
	}
}

출력:

Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34

프로그램 논리:

  • 이전Number는 0으로 초기화되고 nextNumber는 1로 초기화됩니다.
  • Fibonacci For 루프는 다음을 반복합니다. maxNumber
    • 이전 번호 표시
    • PreviousNumber와 nextNumber의 합을 계산합니다.
    • PreviousNumber 및 nextNumber의 새 값을 업데이트합니다.

피보나치 시리즈 프로그램 Java While 루프를 사용하여

생성할 수도 있습니다. Java 피보나치 수열을 이용한 While 루프 인 Java

//Using  While Loop
public class FibonacciWhileExample {
	public static void main(String[] args) 
	{
		 int maxNumber = 10, previousNumber = 0, nextNumber = 1;
	        System.out.print("Fibonacci Series of "+maxNumber+" numbers:");
 
	        int i=1;
	        while(i <= maxNumber)
	        {
	            System.out.print(previousNumber+" ");
	            int sum = previousNumber + nextNumber;
	            previousNumber = nextNumber;
	            nextNumber = sum;
	            i++;
	        }
 
	}
 
}

출력:

Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34

프로그램 논리의 유일한 차이점은 WHILE 루프 피보나치 인쇄하기 Numbers

사용자 입력을 기반으로 한 피보나치 시리즈

//fibonacci series based on the user input
import java.util.Scanner;
public class FibonacciExample {
 
	public static void main(String[] args) 
	{
	
		 int maxNumber = 0; 
		 int previousNumber = 0;
		 int nextNumber = 1;
		 
		    System.out.println("How many numbers you want in Fibonacci:");
	        Scanner scanner = new Scanner(System.in);
	        maxNumber = scanner.nextInt();
	        System.out.print("Fibonacci Series of "+maxNumber+" numbers:");
 
	        for (int i = 1; i <= maxNumber; ++i)
	        {
	            System.out.print(previousNumber+" ");
	            /* On each iteration, we are assigning second number
	             * to the first number and assigning the sum of last two
	             * numbers to the second number
	             */
 
	      
	            int sum = previousNumber + nextNumber;
	            previousNumber = nextNumber;
	            nextNumber = sum;
	        }
 
	}
 
}

프로그램 논리:
논리는 이전과 동일합니다. 표시할 요소 수를 하드코딩하는 대신 Java 피보나치 수열에서는 사용자에게 숫자를 쓰도록 요청합니다.

재귀를 사용한 피보나치 수열 Java

아래는 Fibonacci 시리즈 프로그램입니다. Java 재귀를 사용하여:

//Using Recursion
public class FibonacciCalc{
	public static int fibonacciRecursion(int n){
	if(n == 0){
		return 0;
	}
	if(n == 1 || n == 2){
			return 1;
		}
	return fibonacciRecursion(n-2) + fibonacciRecursion(n-1);
	}
    public static void main(String args[]) {
	int maxNumber = 10;
	System.out.print("Fibonacci Series of "+maxNumber+" numbers: ");
	for(int i = 0; i < maxNumber; i++){
			System.out.print(fibonacciRecursion(i) +" ");
		}
	}
}


출력:

Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34

프로그램 논리:

재귀 함수는 자신을 호출할 수 있는 기능을 가진 함수입니다.

피보나치재귀():

  1. The Java 피보나치 재귀 함수는 입력 숫자를 사용합니다. 피보나치 수열 때문에 0, 1, 2를 확인하고 그에 따라 0, 1, 1을 반환합니다. Java 0, 1, 1로 시작합니다.
  2. 입력 n이 3보다 크면 함수는 재귀적으로 자신을 호출합니다. 통화는 XNUMX번 이루어집니다. 피보나치 수열을 살펴보겠습니다. Java 4 입력에 재귀 예제를 사용합니다.
fibonacciRecursion (4)  
	It will recursively call fibonacciRecursion function for values 2 and 3
		fibonacciRecursion (2) \\ call for value 0 and 1
			fibonacciRecursion (0) = 0
			fibonacciRecursion (1) = 1
		fibonacciRecursion (3) \\ It will call for 1 and 2
			fibonacciRecursion (1) = 1
			fibonacciRecursion (2) \\ It will call for 0 and 1
				fibonacciRecursion (0) = 0
				fibonacciRecursion (1) = 1

이제 결과가 추가됩니다. 0+1+1+0+1=3