0923 - Fractii Max
Cerinţa
Se dau 4 numere naturale a b c d, reprezentând fracţiile a/b şi c/d. Determinați și afișați cea mai mare dintre cele două fracții.
Date de intrare
Programul citește de la tastatură numerele a b c d.
Date de ieşire
Programul afișează pe ecran numerele m n, separate prin exact un spațiu, reprezentând numărătorul şi numitorul fracției maxime, adusă la forma ireductibilă.
Restricții și precizări
- 1 ⩽ a, b, c, d ⩽ 10000
Exemplu
- Intrare
- 7 14 24 18
- Ieșire
- 4 3
Explicație
Fracția maximă este 24/18. Prin simplificare devine 4/3.
Rezolvare
<syntaxhighlight lang="python" line>
- Definim funcția
def frac_max(x, y):
while(y): x, y = y, x % y return x
- Introducem valorile
a = int(input()) b = int(input()) c = int(input()) d = int(input())
- Calculăm valoarea fracțiilor
frac1 = a / b frac2 = c / d
- Verificăm care fracție este mai mare și o simplificăm
if frac1 > frac2:
frac_max_val = frac_max(a, b) print(a // frac_max_val, b // frac_max_val)
else:
frac_max_val = frac_max(c, d) print(c // frac_max_val, d // frac_max_val)
</syntaxhighlight>