BAEKJOON 문제 풀이 : 15792번 A/B - 2
BAEKJOON2020. 1. 19. 12:04
문제 : https://www.acmicpc.net/problem/15792
15792번: A/B - 2
첫째 줄에 A와 B가 주어진다. (0 < A, B ≤ 10,000)
www.acmicpc.net
나누기 알고리즘입니다.
문제에서 주어진 모든 조건을 만족하기 위해서는 소수점 1000자리까지 나타낼 수 있어야합니다.
자바의 경우 BigDecimal을 사용했으며, 파이썬의 경우 나누기 과정을 손으로 써내려가듯이 구현했습니다.
문제 풀이는 아래와 같습니다.
1. Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import java.io.BufferedReader; import java.io.InputStreamReader; import java.math.BigDecimal; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] nums = br.readLine().split(" ", -1); System.out.println(new BigDecimal(nums[0]).divide(new BigDecimal(nums[1]), 1000, BigDecimal.ROUND_HALF_UP)); br.close(); } } | cs |
2. Python3
1 2 3 4 5 6 7 8 9 10 11 12 | if __name__ == '__main__': num1, num2 = map(int, input().split(' ', -1)) result = str(num1 // num2) + '.' remain = num1 % num2 for i in range(0, 1000): remain *= 10 result += str(remain // num2) if remain == 0: break remain %= num2 print(result) | cs |
'BAEKJOON' 카테고리의 다른 글
BAEKJOON 문제 풀이 : 2753번 윤년 (0) | 2020.01.21 |
---|---|
BAEKJOON 문제 풀이 : 2588번 곱셈 (0) | 2020.01.20 |
BAEKJOON 문제 풀이 : 15740번 A+B - 9 (0) | 2020.01.16 |
BAEKJOON 문제 풀이 : 10951번 A+B - 4 (0) | 2020.01.15 |
BAEKJOON 문제 풀이 : 10950번 A+B - 3 (0) | 2020.01.12 |