Cerinţa
Se dau 4
numere naturale a b c d
, reprezentând fracţiile a/b
şi c/d
. Calculaţi suma şi produsul celor două fracţii, aduse la forma ireductibilă.
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
, reprezentând numărătorul şi numitorul sumei celor două fracţii, redusă la forma ireductibilă, iar pe a doua linie numerele p q
, reprezentând numărătorul şi numitorul produsului celor două fracţii, redus la forma ireductibilă.
Restricţii şi precizări
1 ≤ a, b, c, d ≤ 10000
Exemplu
Intrare
1 2 4 3
Ieșire
11 6 2 3
Explicație
Suma fracţiilor 1/2
şi 4/3
este 11/6
, iar produsul este 2/3
.
#include <bits/stdc++.h> using namespace std; int main() { int a, b, c, d; cin >> a >> b >> c >> d; int cb = b, cd = d; while(b){ int r = d % b; d = b; b = r; } int cmmdc1 = d; b = cb, d = cd; int cmmmc1 = b / cmmdc1 * d; int ca = a, cc = c; a = a * (cmmmc1/b); c = c * (cmmmc1/d); int x1 = a + c; int x2 = cmmmc1; int cx1 = x1; int cx2 = x2; while(x2){ int r = x1 % x2; x1 = x2; x2 = r; } cout << cx1 / x1 << ' ' << cx2 / x1 << endl; a = ca; c = cc; x1 = a * c; x2 = b * d; cx1 = x1; cx2 = x2; while(x2){ int r = x1 % x2; x1 = x2; x2 = r; } cout << cx1 / x1 << ' ' << cx2 / x1 << endl; return 0; }