Nu obții 100 de puncte sau ai nelămuriri în privința problemelor? Scrie-mi pe Instagram.
Ai găsit o greșeală, vrei să raportezi un utilizator sau vrei să comunici altceva? Folosește formularul de contact.
Vrei să ne transmiți o părere despre platformă? Folosește formularul de feedback.
Folosește următoarele shortcuturi pentru a naviga mai ușor pe platformă.
Meniu shortcuturi | ? |
Căutare probleme sau utilizatori | / |
Navigare printre rezultatele căutării | ↑, ↓ |
Meniu de contact și feedback | CTRL + Shift + F |
Ieșire din meniuri | Esc |
Setări editor | CTRL + Shift + S |
Schimbare stil editor | CTRL + Shift + E |
Șabloane de cod | CTRL + Shift + 1/2/3 |
Golire editor | CTRL + Shift + 4 |
Dându-se două numere naturale a
și b
, vrem să aflăm CMMMC-ul (cel mai mic multiplu comun) al celor două numere.
Exemplu: Pentru a = 3
, b = 7
, cmmmc(a, b) = 21
— 21
este cel mai mic număr care este simultan multiplu de 3
și de 7
.
Pentru două numere naturale, avem egalitatea cmmdc(a, b) * cmmmc(a, b) = a * b
. De aici, putem să extragem faptul că cmmmc(a, b) = a * b / cmmdc(a, b)
.
Am abordat în alte articole CMMDC-ul a două numere.
Soluția aplică exact algoritmul descris mai devreme:
#include <iostream>
using namespace std;
int main()
{
//Declarare și citire
int a, b;
cin >> a >> b;
//CMMDC-ul numerelor a și b
int cmmdcNr;
int copiea = a, copieb = b;
while(copieb) {
int aux = copiea % copieb;
copiea = copieb;
copieb = aux;
}
cmmdcNr = copiea;
//Calcularea CMMMC-ului
int cmmmcNr = a * b / cmmdcNr;
cout << "cmmmc(" << a << ", " << b << ") = " << cmmmcNr;
return 0;
}