기주

[코테] java 2-4 피보나치 수열 본문

알고리즘/코테

[코테] java 2-4 피보나치 수열

기주그지마 2024. 11. 2. 00:21

문제

 

설명

1) 피보나치 수열을 출력한다. 피보나치 수열이란 앞의 2개의 수를 합하여 다음 숫자가 되는 수열이다.

2) 입력은 피보나치 수열의 총 항의 수 이다. 만약 7이 입력되면 1 1 2 3 5 8 13을 출력하면 된다.

입력

첫 줄에 총 항수 N(3<=N<=45)이 입력된다.

출력

첫 줄에 피보나치 수열을 출력합니다.

예시 입력 1 

10

예시 출력 1

1 1 2 3 5 8 13 21 34 55

 

 

 

 

 

풀이

기존코드)

Scanner sc = new Scanner(System.in);

int num = Integer.parseInt(sc.nextLine());

int[] arr = new int[num];
arr[0] = 1;
arr[1] = 1;

for(int i=2; i<num; i++){
	arr[i] = arr[i-1] + arr[i-2];
}
for(int i=0; i<num; i++){
	System.out.print(arr[i] + " ");
}

 

 

 

 

배열쓰지않고 피보나치 풀기)

 

Scanner sc = new Scanner(System.in);

int num = Integer.parseInt(sc.nextLine());

int a=1, b=1, c;
System.out.print(a + " " + b + " ");

for(int i=2; i<num; i++){
    c = a+b;
    System.out.print(c + " ");

    a=b;
    b=c;
}