망나니 AWOS의 일상
article thumbnail

 

기존에 피보나치 수 2(2748번) 문제를 보게 되면 범위가 90인데도 long형의 범위에 들어섰었는데 

 

 

[java] 백준 2748번 피보나치 수 2

먼저 문제를 보기 전 어제 풀었던 피보나치 수 문제와 같은 문제다. 단지 범위가 커진 것 뿐... [java] 백준 2747번 피보나치 수 문제를 설명하기 앞서 이 아래의 문제와 같은 문제이다. 예제 입력과

begin-dev-awos.tistory.com

이 문제는 무려 입력이 10000이다. 하지만 쫄 필요는 없다.

java에서 지원하는 그 이상의 숫자를 나타내줄 수 있는 BigInteger 클래스가 존재하기 때문에 활용을 하면 된다.


풀이는 2748번과 같으므로 생략하겠다.

import java.math.BigInteger;
import java.util.Scanner;

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

        System.out.println(recur(n));
    }

    public static BigInteger recur(int n) {
        BigInteger[] arr = new BigInteger[10001];
        arr[0] = BigInteger.valueOf(0);
        arr[1] = BigInteger.valueOf(1);

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

        return arr[n];
    }
}

 

profile

망나니 AWOS의 일상

@AWOS

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!