# PBinfo #390 – spfractii – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerinţa
Se dau 4 numere  naturale a b c d, reprezentând fracțiile \(\frac{a}{b}\) și \(\frac{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, adusă la forma ireductibilă, iar linia următoare numerele p q, reprezentând numărătorul și numitorul produsului celor două fracții, adus 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 fractiilor 1/2 și 4/3 este 11/6, iar produsul este 2/3.

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int main() {
    int a, b, c, d, p, q, cp, cq, r;
    cin >> a >> b >> c >> d;
    cp = p = a * d + b * c, cq = q = b * d;
    r = 1;
    while (p % q != 0){
        r = p % q;
        p = q;
        q = r;
    } cout << cp / q << " " << cq / q << endl;
    cp = p = a * c, cq = q = b * d;
    r = 1;
    while (p % q != 0){
        r = p % q;
        p = q;
        q = r;
    } cout << cp / q << " " << cq / q << endl;
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/390)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/390/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-390/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
