[Bronze V] 엄청난 부자2 - 1271
성능 요약
메모리: 17968 KB, 시간: 212 ms
분류
임의 정밀도 / 큰 수 연산(arbitrary_precision), 사칙연산(arithmetic), 수학(math)
문제 설명
갑부 최백준 조교는 동전을 최소로 바꾸는데 성공했으나 김재홍 조교가 그 돈을 발견해서 최백준 조교에게 그 돈을 나누자고 따진다.
그 사실이 전 우주로 알려지자 우주에 있던 많은 생명체들이 자신들에게 돈을 분배해 달라고 당장 달려오기 시작했다.
프로토스 중앙 우주 정부의 정책인, ‘모든 지적 생명체는 동등하다’라는 규칙에 입각해서 돈을 똑같이 분배하고자 한다.
한 생명체에게 얼마씩 돈을 줄 수 있는가?
또, 생명체들에게 동일하게 분배한 후 남는 돈은 얼마인가?
입력
첫째 줄에는 최백준 조교가 가진 돈 n과 돈을 받으러 온 생명체의 수 m이 주어진다. (1 ≤ m ≤ n ≤ 101000, m과 n은 10진수 정수)
출력
첫째 줄에 생명체 하나에게 돌아가는 돈의 양을 출력한다. 그리고 두 번째 줄에는 1원씩 분배할 수 없는 남는 돈을 출력한다.
답 : 범위가 크기 때문에 int와 long사용이 어렵다.
Java에서 제공하는 BigInteger를 통해 풀어준다.
String 타입으로 사용 범위가 무한하며,
문자열이기때문에 숫자 계산시 내부 메서드를 활용,
n.divide 는 나눗셈, remainder 은 나머지를 뽑는 메서드다.
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
BigInteger n = sc.nextBigInteger();
BigInteger m = sc.nextBigInteger();
sc.close();
System.out.println(n.divide(m));
System.out.println(n.remainder(m));
}
}
BigInteger 에 관한 정보는 아래에 있다.
https://nextmoveon.tistory.com/161
'algorithm > 백준' 카테고리의 다른 글
[백준] 수 정렬하기 3 - 10989 Java[자바] (0) | 2022.12.23 |
---|---|
[백준] 아! - 4999 Java[자바] (0) | 2022.12.22 |
[백준] 시험점수 - 5596 Java[자바] (0) | 2022.12.20 |
[백준] 긴자리 계산 - 2338 Java[자바] (0) | 2022.12.19 |
[백준] 합 - 8393 Java[자바] (0) | 2022.12.18 |