aboutsummaryrefslogtreecommitdiff
path: root/challenge-146/lubos-kolouch/python/ch-2.py
blob: 0cfdb314453892efe6ae798d6f794f3d7ee01573 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from fractions import Fraction


def find_ancestors(fraction):
    num, denom = map(int, fraction.split("/"))
    parent = Fraction(num, denom - num) if denom > num else Fraction(num - denom, denom)
    grandparent = (
        Fraction(parent.numerator, parent.denominator - parent.numerator)
        if parent.denominator > parent.numerator
        else Fraction(parent.numerator - parent.denominator, parent.denominator)
    )
    return str(parent), str(grandparent)


print(find_ancestors("3/5"))  # Output: ('3/2', '1/2')
print(find_ancestors("4/3"))  # Output: ('1/3', '1/2')