325
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
#include <bits/stdc++.h>
using namespace std;
ifstream cin("tort.in");
ofstream cout("tort.out");
int cmmdc(int a, int b){
while(b){
int r = a % b;
a = b;
b = r;
}
return a;
}
int main(){
int n, m;
cin >> n >> m;
int prod = n * m;
int cm = cmmdc(n, m);
cout << prod / (cm * cm) << ' ' << cm;
return 0;
}
Comentarii