알고리즘/백준

[백준]자바_2338번_긴자리 계산

Ellie67 2021. 4. 22. 23:48

문제

두 수 A, B를 입력받아, A+B, A-B, A×B를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 A가, 둘째 줄에 B가 주어진다. 각각의 수는 10진수로 1,000자리를 넘지 않으며 양수와 음수가 모두 주어질 수 있다.

출력

첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A×B를 출력한다. 각각을 출력할 때, 답이 0인 경우를 제외하고는 0으로 시작하게 해서는 안 된다(1을 01로 출력하면 안 된다는 의미).

예제 입력 1

1 -1

예제 출력 1

0 2 -1


이 문제는 1271번 문제와 비슷했다. int형으로 계산해서 출력하려고 했더니 런타임 에러가 발생했다.

그래서 BigInteger을 사용해서 풀었다. 

 

import java.math.BigInteger;
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		BigInteger A = sc.nextBigInteger();
		BigInteger B = sc.nextBigInteger();
		BigInteger sumRes = A.add(B);
		BigInteger subRes = A.subtract(B);
		BigInteger mulRes = A.multiply(B);
		System.out.println(sumRes);
		System.out.println(subRes);
		System.out.println(mulRes);
	}
}