425
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;
}
Comentarii