20210112 // BaekJoon Online Judge // 1008
2021. 1. 12. 15:40ㆍProgramming/BOJ
BaekJoon Online Judge 1008번 "A/B" 문제입니다.
a, b = map(int, input().split())
print("%.9f" % (a / b))
쉽다고 생각하는 문제인데 정답률이 30퍼대다. 왜인지 자세히 보니
상대오차 10^(-9) 조건이 있다. 이 말은 뭐냐면 나의 출력값과 예제의 출력값의 차가 10^(-9)이하일 경우에만
정답을 허용한다는 소리다. 예를 들어 1/3 은 0.33333333... 의 무한소수다. 하지만 이를 파이썬에서 출력하면
이런 식으로 6자리까지 밖에 출력이 되지 않는다. 이렇게 되면 0.333333...에서 0.333333을 빼면
0.00000033333....이 나오고 이는 10^(-9)보다 크므로 상대오차의 조건을 만족하지 못하게 된다.
따라서 출력할 때에 포맷을 %.9f 로 해주면 소수점 9번째 자리까지 출력을 하므로 상대오차의 조건을 만족하게 된다.
'Programming > BOJ' 카테고리의 다른 글
20210114 // BaekJoon Online Judge // 10818 (0) | 2021.01.14 |
---|---|
20210114 // BaekJoon Online Judge // 1110 (0) | 2021.01.14 |
20210113 // BaekJoon Online Judge // 10951 (0) | 2021.01.13 |
20210113 // BaekJoon Online Judge // (0) | 2021.01.13 |
20210113 // BaekJoon Online Judge // 2884 (0) | 2021.01.13 |