Bronze V 문제 번호 1271번 : 엄청난 부자2 - JAVA [자바]
728x90
https://www.acmicpc.net/problem/1271
이 문제는 엄청난 부자 답게 엄청난 함정이 있습니다. 처음에 아무 생각 없이 풀면 80% 이상은 런타임 에러가 생기지 않을까 생각합니다.
이 문제의 함정은 (1 <= m <= n <= 10의1000제곱, m과 n은 10진수 정수) 에 있습니다. 10의 1000제곱은 Integer형이나 long형으로 받을 수 없는 자리 수 입니다. 그래서 java.math 에서 제공하는 라이브러리 BigInteger을 사용해여 문제를 해결해야 합니다.
정답
import java.util.*;
import java.math.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
BigInteger money = sc.nextBigInteger();
BigInteger live = sc.nextBigInteger();
System.out.println(money.divide(live));
System.out.println(money.remainder(live));
}
}
BigInteger은 스캐너로 받을 때도 BigInteger로 받아야 하고 사칙 연산도 Integer형과 다릅니다.
더하기 : add()
빼 기 : subtract()
곱하기 : multiply()
나누기 : divide()
나머지 : remainder()
로 계산합니다.
'알고리즘 > 백준 문제 및 정답' 카테고리의 다른 글
Bronze V 문제 번호 2338번 : 긴자리 계산 - JAVA [자바] (0) | 2022.01.13 |
---|---|
Bronze V 문제 번호 1550번 : 16진수 - JAVA [자바] (0) | 2022.01.12 |
Bronze V 문제 번호 1001번 : A-B - JAVA [자바] (0) | 2022.01.10 |
문제 번호 2869번 : 달팽이는 올라가고 싶다 - JAVA [자바] (2) | 2022.01.10 |
문제 번호 1193번 : 분수찾기 - JAVA [자바] (0) | 2021.12.30 |