본문 바로가기
Algorithm

[구현/수학] 백준 29196 소수가 아닌 수 2 - 파이썬(Python)

by jangThang 2023. 8. 21.
반응형

백준 온라인 저지

 

 

 

1. 문제 (링크 참조)

 

29196번: 소수가 아닌 수 2

이 대회의 운영진 중 한 명인 KSA 학생은 얼마 전 소수 공포증을 극복했으나 또 다른 소수를 구별할 수 없게 되어 버렸다. KSA의 명예를 지키기 위해 어떤 소수 $k$를 입력받아 $k$를 나타내는 분수 $

www.acmicpc.net

 

 

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보다 작다면 분자를 키우면 됩니다.

 

star가 되고나서 Tistory

반응형

댓글