[백준/Python] 1735_분수 합
2021. 6. 22. 12:31ㆍ백준 알고리즘
문제
https://www.acmicpc.net/problem/1735
풀이
두 분수의 합을 기약 분수로 나타낸 식은 다음과 같습니다.
$$ {a \over b} \times {c \over d} = {(a \times d + c \times b) \div GCD \over (b \times d) \div GCD} $$
$$ GCD = (a \times d + c \times b)와 (b \times d)의 최대공약수$$
코드
import sys
def get_GCD(a, b):
if b == 0:
return a
return get_GCD(b, a % b)
child1, mom1 = map(int, sys.stdin.readline().rstrip().split())
child2, mom2 = map(int, sys.stdin.readline().rstrip().split())
gcd = get_GCD(child2 * mom1 + child1 * mom2, mom1 * mom2)
result_child = (child2 * mom1 + child1 * mom2) // gcd
result_mom = (mom1 * mom2) // gcd
print(result_child, result_mom)
'백준 알고리즘' 카테고리의 다른 글
[백준/Python] 10973_이전 순열 (0) | 2021.06.22 |
---|---|
[백준/Python] 2529_부등호 (0) | 2021.06.22 |
[백준/Python]14503_로봇 청소기 (0) | 2021.06.18 |
[백준/Python]1965_상자넣기 (0) | 2021.06.18 |
[백준/Python]1759_암호 만들기 (0) | 2021.06.17 |