산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

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

자바에서 피보나치 수열이란 무엇입니까?

피보나치 수열 Java에서 다음 숫자는 이전 두 숫자의 합인 일련의 숫자입니다. 피보나치 수열의 처음 두 숫자는 0과 1입니다. 피보나치 숫자는 두 정수의 최대 공약수를 결정하기 위한 알고리즘의 계산 런타임 연구에서 크게 사용됩니다.

산술에서 Wythoff 배열은 피보나치 수열로 인한 무한한 숫자 행렬입니다.

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

For 루프를 사용하는 Java의 피보나치 수열 프로그램

//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

프로그램 논리:

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 루프를 사용하여 피보나치 수를 인쇄하는 것입니다.

사용자 입력에 기반한 피보나치 수열

//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의 피보나치 수열 프로그램입니다.

//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

프로그램 논리:

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

fibonacciRecursion():

  1. 자바 피보나치 재귀 함수는 입력 숫자를 사용합니다. Java의 피보나치 수열은 0, 1, 1로 시작하므로 0, 1, 2를 확인하고 그에 따라 0, 1, 1을 반환합니다.
  2. 입력 n이>=3인 경우 함수는 재귀적으로 자신을 호출합니다. 통화는 두 번 수행됩니다. 4 입력에 대한 재귀 예제를 사용하는 Java의 피보나치 수열을 살펴보겠습니다.
	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


java

  1. 자바 Hello World 프로그램
  2. 자바 변수와 리터럴
  3. Java 표현식, 명령문 및 블록
  4. 자바 클래스와 객체
  5. 자바 추상 ​​클래스와 추상 메소드
  6. Java 중첩 및 내부 클래스
  7. 자바 던지기 및 던지기
  8. 자바 오토박싱과 언박싱
  9. 소수를 확인하는 자바 프로그램
  10. For 루프를 사용하는 JAVA 프로그램의 암스트롱 번호