JAVA例:フィボナッチ数列


 피보나치 수열이란? 
1,1,2,3,5,8,13,21,34,55,... 과 같이
1,1로 시작해서 앞의 두항의 합이 뒤의 항으로 이루어진 수열입니다.

質問する


パラメータ形式で総項目数(n)を受信し、入力した総項目を順番に出力する方法を作成してください.
例)Fibonacci(10)
出力結果->1 1 1 2 3 5 8 13 21 3455(項目ごとに改行出力)
フィボナッチアルゴリズムの核心は,An=(An−1)+(An−2)である.

ソースコード

이전 항과 전 전 항을 변수에 담아 더하는 방법
public class Fibonacci {

	public static void main(String[] args) {
		fibonacci(10);
	}

	public static void fibonacci(int n) {
		int current = 1; 	// 현재 숫자
		int previous = 0;	// 이전 숫자
		int a = 0;			// 이전 숫자를 보관하는 변수
		
		
		for (int i = 1; i <= n; i++) {
			System.out.println(current);

			a = previous;
			previous = current;
			current = a + previous;
			
		}
	}
}
👉 出力結果
1
1
2
3
5
8
13
21
34
55

その他のコード

배열 사용
public class Fibonacci {
	
	public static void main(String[] args) {
        f1(10);
    }

    public static void f1(int x){
        int[] fibonacci = new int[x];
        fibonacci[0] = 1;
        fibonacci[1] = 1;
        System.out.print(fibonacci[0] + " " + fibonacci[1] + " ");
        
        for(int i = 2; i < x; i++){
            fibonacci[i] = fibonacci[i-1] + fibonacci[i-2];
            System.out.print(fibonacci[i] + " ");
        }

    }
	
}
👉出力結果
1 1 2 3 5 8 13 21 34 55