https://www.acmicpc.net/problem/10826
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문을 돌며 이전 두수를 더하며 다음 수의 배열에 저장한다.
'ALGORITHM' 카테고리의 다른 글
[JAVA] 백준 9655번- 돌 게임 (0) | 2022.07.02 |
---|---|
[JAVA] 백준 11653번- 소인수분해 (0) | 2022.07.02 |
[JAVA] 백준 2960번- 에라토스테네스의 체 (0) | 2022.07.02 |
[JAVA] 알고리즘 : 배열 - 뒤집은 소수 (0) | 2022.06.27 |
[JAVA] 알고리즘 : 배열 - 소수(에라토스테네스 체) (0) | 2022.06.27 |