# PBinfo #3118 – torto – Rezolvare C++

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

## Enunț

Cerința
Un tort dreptunghiular de dimensiuni MxN trebuie împărţit în porţii pătrate de aceeaşi mărime. Găsiţi numărul minim de porţii care se pot obţine şi dimensiunea L a acestora. Atât dimensiunile dreptunghiului cât şi ale pătratelor în care se împarte sunt numere întregi.

Date de intrare
Fişierul de intrare tort.in va conţine pe prima linie numerele M şi N separate printr-un spaţiu. 

Date de ieșire
Fişierul de ieşire tort.out va conţine pe o singură linie, două numere naturale separate printr-un spaţiu, primul fiind numărul minim de porţii, iar celălalt dimensiunea L.

Restricții și precizări

1 ≤ M ≤ N ≤ 10000

Exemplu:
tort.in

20 24
tort.out

30 4

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
ifstream in("tort.in");
ofstream out("tort.out");
int cmmdc(int a, int b) {
    while (b != 0) {
        int t = a % b;
        a = b;
        b = t;
    } return a;
} int main() {
    int n, m;
    in >> n >> m;
    int prod = n * m;
    int cm = cmmdc(n, m);
    out << prod / (cm * cm) << " " << cm;
    return 0;
}
```

## Resurse

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