🌴 문제
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000)
출력
첫째 줄에 A+B를 출력한다.
예제 입력 1 복사
9223372036854775807 9223372036854775808
예제 출력 1 복사
18446744073709551615
🌴 문제 분석
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.StringTokenizer;
public class day19 {
public static void main(String[] args) throws NumberFormatException, IOException {
// long형은 264-1으로 약 1844경 정도 된다. 입력 범위가 long형을 넘는다.
// BigInteger은 문자열 형태로 이루어져 있어 숫자의 범위가 무한하기에 어떠한 숫자이든지 담을 수 있다.
// BigInteger은 문자열이기에 사칙연산이 안된다. 그렇기에 BigIntger 내부의 숫자를 계산하기 위해서는 BigIntger 클래스 내부에 있는 메서드를 사용해야 한다.
/*
* add() 메소드는 해당 BigInteger 객체와 파라미터(인자)로 들어온
* BigInteger객체의 더한 값을 BigInteger 타입으로 반환한다.
*/
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
BigInteger A = new BigInteger(st.nextToken()); // BigInteger을 초기화하기 위해서는 문자열을 인자 값으로 넘겨주어야 한다. BigInteger가 문자열로 되어 있기 때문이다.
BigInteger B = new BigInteger(st.nextToken());
A = A.add(B);
System.out.println(A.toString());
}
}
------
9223372036854775807 9223372036854775808
18446744073709551615
'Algorithm' 카테고리의 다른 글
Algorithm - 약수 구하기 (0) | 2023.06.27 |
---|---|
Algorithm - 배수와 약수 (0) | 2023.06.26 |
Algorithm - 달팽이는 올라가고 싶다. (Java) (2) | 2023.05.17 |
Algorithm - 분수찾기 (Java) (0) | 2023.05.16 |
Algorithm - 벌집 (Java) (0) | 2023.05.11 |