int와 long이 표현할 수 있는 범위는 다음과 같다.
- int 범위 : -2,147,483,648 ~ 2,147,483,647
- long 범위 : -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
처음에 unsginedLong을 사용하려고 했지만 되려 -1이 저장되더라... 자바에서는 권장되지 않는 방법이고 찾아보니
BigInteger
- 아주 큰 수를 다뤄야 할 경우 java.math의 BigInteger를 사용한다.
- 단 BigInteger는 문자열로 숫자를 저장하므로 사칙연산을 부호로 적용할 수는 없고 BigInteger.add(BigInteger) 이런 식으로 내부 메서드를 써야한다.
Code
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
import java.math.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));
String line = in.readLine();
StringTokenizer st = new StringTokenizer(line);
BigInteger A = new BigInteger(st.nextToken());
BigInteger B = new BigInteger(st.nextToken());
out.write(A.add(B) + "");
out.flush();
out.close();
}
}
'PS(Java) > 백준' 카테고리의 다른 글
[PS] 백준 11721번 열 개씩 끊어 출력하기 (0) | 2022.01.28 |
---|---|
[PS] 백준 11719번 그대로 출력하기 2 (0) | 2022.01.28 |
[PS] 백준 단계별로 풀기 - 배열(2), 함수 (0) | 2022.01.12 |
[PS] 백준 단계별로 풀기 - 1차원 배열 (0) | 2022.01.12 |
[PS] 백준 단계별로 풀기 - 입출력, If문 (0) | 2022.01.10 |