자바 공부하다가 BigInteger라는 객체가 있는걸 알았습니다..
존재를 까먹기 전에 포스팅이라도 하려고 급하게 문제를 풀었습니다..
이 문제는 A+B를 출력하는 매우 간단한 문제이지만 입력으로 주어지는 수가 -10^10000 ~ 10^10000이라서
int, long으로는 해결할 수 없습니다. 그래서 BigInteger를 사용해야 합니다.
BigInteger는 일반적인 +, -와 같은 연산은 불가능하며,
add(덧셈), subtract(뺄셈), multiply(곱셈), divide(나눗셈), remainder(나머지)와 같은 내부 메소드를 사용해야합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.StringTokenizer;
public class Main {
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
static StringTokenizer st;
static BigInteger A, B;
static void input() throws Exception{
st = new StringTokenizer(br.readLine());
A = new BigInteger(st.nextToken());
B = new BigInteger(st.nextToken());
}
public static void main(String[] args) throws Exception {
input();
System.out.println(A.add(B));
}
}
|
cs |
그리고... 파이썬 코드입니다.
1
2
3
4
|
x, y = input().split()
x = int(x)
y = int(y)
print(x + y)
|
cs |
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
너무 간단한데요;;
C++로 BigInteger를 직접 구현했던 때가 기억이 납니다 ㅎㅎ;;
'algorithm > Math' 카테고리의 다른 글
boj 13136 Do Not Touch Anything (0) | 2022.10.25 |
---|---|
boj 1837 암호제작 (0) | 2021.02.04 |
boj 1002 터렛 (0) | 2021.01.27 |