코딩/백준 알고리즘

1003번) 피보나치 함수

금손형아 2017. 10. 2. 15:12



문제 출처 : https://www.acmicpc.net/problem/1003






import java.util.Scanner;

public class Main {


static int[][] array = new int[41][2]; //0과 1의 호출 횟수를 저장하기 위해


public static void main(String[] args){


//먼저 0과 1의 호출 횟수를 세팅한다.

setFibo();

Scanner scanner = new Scanner(System.in);

int input = scanner.nextInt();

for ( int i = 0; i < input; i++ ) {

int temp = scanner.nextInt();

System.out.println(array[temp][0] + " " + array[temp][1]);

}

}


static void setFibo() {


array[0][0] = 1; //0을 호출 하면 0을 1번 호출

array[1][1] = 1; //1을 호출 하면 1을 1번 호출

for ( int i = 2; i < 41; i++ ) {

array[i][0] = array[i-1][0] + array[i-2][0]; //0호출 값 계산

array[i][1] = array[i-1][1] + array[i-2][1]; //1호출 값 계산

}

}

} 





숫자 0 부터 40까지 0과 1이 몇번 호출되는지 파악하면서


쭉쭉 나아가면 되는 문제 입니다.


먼저 0과 1의 호출 횟수를 정의한다음에


입력한 값의 호출 회수를 출력하면 됩니다.


주석을 참고해주세요.