반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
소수 k가 주어졌을 때, 상대오차가 10^-6 이하인 p/q를 구하는 문제입니다.
반응형
3. 코드
k = float(input())
# 분자, 분모 늘려가며 차이 줄이기
p = 1
q = 1
while(abs(p/q - k) > 10**-6):
if p/q > k:
q += 1
else:
p += 1
print("YES")
print(p, q)
상대오차가 10**-6가 될 때까지 분자와 분모의 크기를 조정합니다.
만약 k보다 크다면 분모를 키우면 되고, k보다 작다면 분자를 키우면 됩니다.
반응형
'Algorithm' 카테고리의 다른 글
[구현/수학] 백준 28464 Potato - 파이썬(Python) (0) | 2023.09.04 |
---|---|
[구현/수학] 백준 29197 아침 태권도 - 파이썬(Python) (0) | 2023.08.21 |
[집합/수학] 백준 28445 알록달록 앵무새 - 파이썬(Python) (0) | 2023.08.14 |
[구현/수학] 백준 28702 FizzBuzz - 파이썬(Python) (0) | 2023.08.14 |
[구현/수학] 백준 28444 HI-ARC=? - 파이썬(Python) (0) | 2023.08.14 |
댓글