Enunț
Într-o școală sunt n clase a VII-a, fiecare de câte k elevi, și m clase a VIII-a, fiecare de câte p elevi. Directorul școlii vrea să facă o nouă repartizare a elevilor în clase astfel încât în fiecare clasă: a) să fie același număr de elevi; b) să fie doar elevi de clasa a VII-a sau doar elevi de clasa a VIII-a.
Cerința
Cunoscându-se valorile n, k, m și p, numere naturale nenule, scrieți un program pentru a determina x numărul de clase necesar acestei noi repartizări, noul număr y de clase a VII-a, respectiv z de clase a VIII-a, precum și numărul t maxim de elevi repartizați într-o clasă.
Date de intrare
Programul citește de la tastatură numerele naturale n, k, m și p, separate prin spații.
Date de ieșire
Programul va afișa pe ecran numerele naturale: x y z t, separate prin câte un spațiu.
Restricții și precizări
n, k, m, p, x, y, z, t ≤ 1.000.000
Exemplu
Intrare
4 30 5 27
Ieșire
17 8 9 15
Explicație
Pentru n=4, k=30, m=5, p=27, numărul de clase necesar acestei noi repartizări este x=17, dintre care vor fi y=8 clase a VII-a și z=9 clase a VIII-a, iar în fiecare clasă vor fi repartizați maxim t=15 elevi.
#include <bits/stdc++.h>
using namespace std;
int cmmdc(int a , int b)
{
while(b)
{
int r = a % b;
a = b;
b = r;
}
return a;
}
int main()
{
int n, k, m, p;
cin >> n >> k >> m >> p;
int ne7 = n * k;
int ne8 = m * p;
int x, y , z , t;
t = cmmdc(ne7, ne8);
y = ne7 / t;
z = ne8 / t;
x = y + z;
cout << x << ' ' << y << ' ' << z << ' ' << t;
return 0;
}