카테고리 없음
[Java] 백준 2338 긴자리 계산
정보통신 고심이
2023. 9. 26. 21:39
문제
두 수 A, B를 입력받아, A+B, A-B, A×B를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 A가, 둘째 줄에 B가 주어진다. 각각의 수는 10진수로 1,000자리를 넘지 않으며 양수와 음수가 모두 주어질 수 있다.
출력
첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A×B를 출력한다. 각각을 출력할 때, 답이 0인 경우를 제외하고는 0으로 시작하게 해서는 안 된다(1을 01로 출력하면 안 된다는 의미).
예제 입력 1 복사
0
2
-1
예제 출력 1 복사
1 -1
정답 코드
import java.util.Scanner;
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
BigInteger A = new BigInteger(sc.next());
BigInteger B = new BigInteger(sc.next());
sc.close();
System.out.println(A.add(B));
System.out.println(A.subtract(B));
System.out.println(A.multiply(B));
}
}
import java.math.BigInteger; 를 써야함
printf 쓰면안됨
(A.add(B))
틀린 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int A = sc.nextInt();
int B = sc.nextInt();
sc.close();
System.out.printf("%d\n", A+B);
System.out.printf("%d\n", A-B);
System.out.printf("%d\n", A*B);
}
}
컴파일 에러 발생
정수 범위를 잘 살펴보자