본문 바로가기

PY(Python Image Processing)/중학수학기초

03순환소수

728x90
def gcd(a, b):
    while b:
        a, b = b, a % b
    return a

def check_finite_infinite_decimal(fraction_str):
    fraction = fraction_str.split('/')
    numerator = int(fraction[0])
    denominator = int(fraction[1])

    common_factor = gcd(numerator, denominator)
    denominator //= common_factor

    while denominator % 2 == 0:
        denominator //= 2
    while denominator % 5 == 0:
        denominator //= 5

    if denominator == 1:
        print("입력한 분수는 유한소수입니다.")
    else:
        print("입력한 분수는 무한소수입니다.")

if __name__ == "__main__":
    user_input = input("분수를 입력하세요 (예: 3/8 or 1/3): ")
    check_finite_infinite_decimal(user_input)
728x90

'PY(Python Image Processing) > 중학수학기초' 카테고리의 다른 글

06_0과절대값  (0) 2024.08.15
05무리수와실수  (0) 2024.08.15
04제곱근  (0) 2024.08.15
02유리수  (0) 2024.08.15
01정수  (0) 2024.08.15