본문 바로가기
Algorithm

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

by jangThang 2023. 8. 21.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    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

    반응형

    댓글