yha97 2022. 11. 20. 16:29

날짜 : 2022. 11. 20

사용 언어 : python

 

문제

 

 

코드

import sys

def gcd(m, n):
    while n:
        m, n = n, m % n
    return m

a, b = map(int, sys.stdin.readline().split())
c, d = map(int, sys.stdin.readline().split())

a = a * d + c * b
b = b * d

g = gcd(a, b)

print(a // g, b // g)

 

 

풀이

- 같은 분모로 만들어 서로 연산한 후 최소공배수를 구해서 해당 수로 각각 분자와 분모를 나눈다.

 

 

알게된 점

- 유클리드 호제법

 

 

참고 사이트

- https://velog.io/@jwisgenius/알고리즘-파이썬-최대공약수유클리드-호제법-최소공배수