백준 17356번 - 욱 제

백준 17356번 문제 링크
문제 이름 : 욱 제
주 언어 : Python
태그 : 수학 / 사칙연산
solved.ac 등급 : Bronze III (2022/11/27 확인)


문제 보기

문제 :

오늘은 운명의 라이벌 권욱과 권제가 숙명의 대결을 펼치는 날이다. 대결 종목은 바로 2019년 천하제일 코딩대회 본선 문제 중 하나인 "욱 제"를 더 빨리 푸는 것이다.
욱과 제는 "욱 제"를 빨리 푸는 능력, 일명 "욱제력"을 가지고 있다. 이 욱제력은 하나의 정수로 수치화할 수 있다. 욱의 욱제력이 $A$, 제의 욱제력이 $B$일 때,
$M$을 $\frac{B - A}{400}$이라고 하자. 이때 욱이 제를 이길 확률은 $\frac{1}{1 + 10^{M}}$이다. 이 값은 얼마일까?

입력 :

욱의 욱제력과 제의 욱제력이 한 줄에 주어진다. 욱제력은 0 이상 5,000 이하의 정수이다.

출력 :

욱이 제를 이길 확률을 출력한다. 정답과의 절대오차 또는 상대오차가 ${10}^{-4}$ 이하이면 정답으로 인정한다.



각 언어에서 거듭제곱을 어떻게 할 수 있을지 생각해볼 수 있는 문제입니다.
크게 다음과 같은 단계를 거칩니다.
1. $A$, $B$ 두 수를 입력받는다.
2. $M = \frac{B - A}{400}$를 구한다.
3. $\frac{1}{1 + 10^{M}}$을 구한다. (즉, $10^{M}$을 어떻게 구할 수 있는지 알아야 한다.)
파이썬에서는 A ** B가 $A^{B}$이므로, 다음과 같이 구해줍니다.

(B - A) // 400 으로 하면 정수 나눗셈이 되므로 주의해줍니다.
거듭제곱 연산자가 없는 몇몇 다른 언어에서는 math 라이브러리 등에 pow 함수가 있는 경우가 있습니다.
다만, 그런 경우에도 $10^{M}$ 값을 구한다고 해서 오버플로우가 나지 않는지 주의해야합니다.


-번째 푼 문제 (2022/--/--)