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