728x90
※ 문제
출처 : (https://www.acmicpc.net/problem/10757)
1. 설명
문제에서 요구하는 숫자 범위 : 1010000
int 범위 : 231-1
long 범위 : 263-1
BigInteger범위 : 무한
큰 숫자를 연산하는 경우는 보통 int를 long으로 변환 후 연산을 하는 경우가 있다. 왜냐하면 int의 범위는 231-1이고, long의 범위는 263-1 으로 int < long이기 때문이다. 하지만 해당 문제는 1010000의 크기까지 연산을 요구하고 있기 때문에 long의 범위를 초과하므로 사용할 수 없다.
이 경우 BigInteger를 사용하면 연산할 수 있다. 범위가 무한이기 때문에 바로 연산이 가능하다. 자세한 내용은 아래 URL에서 확인하자.
https://docs.oracle.com/javase/8/docs/api/java/math/BigInteger.html
2. BigInteger 성공 코드
import java.math.BigInteger;
import java.util.Scanner;
public class BigNumber {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String inputData = scan.nextLine();
String[] arr = inputData.split(" ");
BigInteger A = new BigInteger(arr[0]);
BigInteger B = new BigInteger(arr[1]);
A = A.add(B);
System.out.println(A.toString());
}
}
728x90
'자기계발 > 백준 문제 풀이' 카테고리의 다른 글
7568 자바 ] 덩치(풀이) (0) | 2022.09.01 |
---|---|
1009 자바 ] 분산처리(풀이) (0) | 2022.09.01 |
11720 자바 ] 숫자의 합 (풀이) (0) | 2022.09.01 |
2108 자바 ] 통계학(풀이) (0) | 2022.09.01 |
1929 자바 ] 소수 구하기/에라토스테네스의 체(풀이) (0) | 2022.08.31 |