Algorithm/문제

16. 피보나치 수열

챛채 2023. 6. 1. 16:58

 

단순 피보나치 수열로 배열의 0번과 1은 1로 초기화되어야한다.

import java.util.Scanner;

public class Main {
    public int[] solution(int n) {
        int[] answer = new int[n];
        answer[0]=1;
        answer[1]=1;
        for (int i = 2; i < n; i++) {
            answer[i] = answer[i - 2] + answer[i - 1];
        }
        return answer;
}
   public static void main(String[] args){
       Main T = new Main();
       Scanner kb = new Scanner(System.in);
       int n=kb.nextInt();
       for(int x : T.solution(n)) System.out.print(x+ " ");

   }
}

만약 배열을 안 쓴다고 하면 다음과 같이 하면 되겠다!

import java.util.Scanner;

public class Main {
    public void solution(int n) {
        int a=1, b=1, c;
        System.out.print(a+ " " + b + " ");
        for (int i = 2; i <n; i++) {
            c=a+b;
            System.out.print(c+" ");
            a=b;
            b=c;
        }
    }
   public static void main(String[] args){
       Main T = new Main();
       Scanner kb = new Scanner(System.in);
       int n=kb.nextInt();
       T.solution(n);

   }
}