ALGORITHM

[JAVA] 백준 10826번- 피보나치수4

연듀 2022. 7. 2. 14:40

https://www.acmicpc.net/problem/10826

 

10826번: 피보나치 수 4

피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가

www.acmicpc.net

 

import java.math.BigInteger;
import java.util.*;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        BigInteger[] arr = new BigInteger[n+2];
        arr[0] = BigInteger.ZERO;
        arr[1] = BigInteger.ONE;

        for(int i=2; i<=n; i++){
            arr[i] = arr[i-2].add(arr[i-1]);
        }

        System.out.println(arr[n]);
        }
    }

 

n의 입력범위가 10000이나 되기 때문에 long형의 범위에도 넘어선다.

BigInteger 클래스를 사용해야만 했다.

BigInteger 배열을 만들어 초기화하고, for문을 돌며 이전 두수를 더하며 다음 수의 배열에 저장한다.