본문 바로가기
짱구 굴리기 (Q) -

[백준 10826] 피보나치 수 4

by skwzz 2019. 4. 3.

 

피보나치 문제입니다.

일단 어느 일정 n이상 가면 long의 범위를 넘어가기 때문에

BigInteger를 사용해 풀었습니다. 그리고 재귀 말고 바텀-업 (맞나?) 방식으로 

풀었습니다

 

 

public class Q10826 {
	static BigInteger[] arr;
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.parseInt(br.readLine());
		arr = new BigInteger[n+1];
		arr[0]=BigInteger.ZERO;
		if(n>0) {
			arr[1]=BigInteger.ONE;
		}
		
		if(n==0) {
			System.out.print("0");
		}else if(n==1) {
			System.out.print("1");
		}else {
			for(int i=2; i<=n; i++) {
				arr[i] = arr[i-1].add(arr[i-2]);
			}
			System.out.print(arr[n]);
		}
	}
}

'짱구 굴리기 (Q) - ' 카테고리의 다른 글

[백준 7568] 덩치  (0) 2019.04.04
[백준 1003] 피보나치 함수  (0) 2019.04.03
[백준 2747] 피보나치 수  (0) 2019.04.03
[백준 1100] 하얀 칸  (0) 2019.04.03
[백준 1193] 분수찾기  (0) 2019.04.02