#23 - 나눗셈 [매우 쉬움]
2020. 7. 8. 18:36ㆍ카테고리 없음
728x90
1÷8 = 0.125이다.
보통 이런 나눗셈은 약속된 수식을 통해 어떤 언어에서든 쉽게 계산할 수 있다.
하지만, 각각의 자료형은 정해진 크기를 가지고 있으므로, 유리수들 중 무한소수인 수들은 그 값을 모두 표현할 수 없다.
어떻게하면 내가 원하는 수준까지 나눗셈 결과를 출력할 수 있을까?
https://www.acmicpc.net/problem/1008
문제: 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.
입력: 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력: 첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이다.
예제 1)
1 3
0.33333333333333333333333333333333
예제 2)
4 5
0.8
Solution)
핵심 포인트)
예를 들어, 1÷8을 계산할 때,
1에 8이 0번 들어가니까 정수부는 0이고,
계산되지 않은 정수 1이 남아 있으니까
10씩 곱해주며 동일한 과정을 반복하는 것이다.
1/8 = 0(정수부) ... 1
10/8 = 1 ... 2
20/8 = 2 ... 4
40/8 = 5 ... 0
=> 1/8 = 0.125
728x90