Calculul CMMMC și CMMDC pentru mai multe numere
Cel mai mic multiplu comun (CMMMC) se calculează ușor folosind relația cu CMMDC:
#include <iostream>
using namespace std;
int main() {
int n, d, p;
cin >> n >> d;
p = n * d;
while (n != d) {
if (n > d) n = n - d;
else d = d - n;
}
cout << "cmmmc= " << p/d;
return 0;
}
Pentru calculul CMMDC a mai multor numere dintr-un șir (până la întâlnirea lui 0), folosim proprietatea asociativă, calculând succesiv:
#include <iostream>
using namespace std;
int main() {
int n, d, a, b;
cin >> a;
if (a != 0) {
d = a;
cin >> a;
while (a != 0) {
b = d;
while (a != b) {
if (a > b) a = a - b;
else b = b - a;
}
d = a;
cin >> a;
}
cout << "cmmdc = " << d;
} else {
cout << "cmmdc = 0";
}
return 0;
}
💡 Indiciu: CMMDC(a,b,c) = CMMDC(CMMDC(a,b),c) - aplicăm algoritmul în perechi succesive!