Răspuns :
Algoritmul prin scaderi reperate:
Citeste a,b
Cat timp a!=b executa
Daca a>b atunci
a=a-b
Altfel b=b-a
Scrie a
Algoritmul este:
– citim a,b;
– cat timp numerele a si b sunt diferite scadem din numarul mai mare numarul mai mic;
– afisam unul din numere;
Obs.: Aceasta metoda este lenta din punct de vedere al timpului.
In urma calcularii cmmdc numerele se modifica. Daca dorim sa folosim numerele trebuie sa realzam o copie a lor inainte de calculul cmmdc.
Algoritmul lui Euclid:
Citeste a,b
r=a%b
Cat timp r!=0 executa
a=b
b=r
r=a%b
Scrie b
Algoritmul este:
-citim a,b
calculam r=a%b
-cat timp r!=0 executa
– a=b
– b=r
– r=a%b
– scrie b
Obs.: Algoritmul lui Euclid este mai rapid decat algoritmul prin scaderi repetate.
Numerele se modifica, prin urmare, daca trebuie realizam o copie a lor inainte de calcului cmmdc.
Citeste a,b
Cat timp a!=b executa
Daca a>b atunci
a=a-b
Altfel b=b-a
Scrie a
Algoritmul este:
– citim a,b;
– cat timp numerele a si b sunt diferite scadem din numarul mai mare numarul mai mic;
– afisam unul din numere;
Obs.: Aceasta metoda este lenta din punct de vedere al timpului.
In urma calcularii cmmdc numerele se modifica. Daca dorim sa folosim numerele trebuie sa realzam o copie a lor inainte de calculul cmmdc.
Algoritmul lui Euclid:
Citeste a,b
r=a%b
Cat timp r!=0 executa
a=b
b=r
r=a%b
Scrie b
Algoritmul este:
-citim a,b
calculam r=a%b
-cat timp r!=0 executa
– a=b
– b=r
– r=a%b
– scrie b
Obs.: Algoritmul lui Euclid este mai rapid decat algoritmul prin scaderi repetate.
Numerele se modifica, prin urmare, daca trebuie realizam o copie a lor inainte de calcului cmmdc.
Ai si o sursa in C++ pentru cmmdc si cmmmc cu Alg lui Euclid. CMMMC = (a*b)/cmmdc(a,b). Succes!
#include <iostream>
using namespace std;
int d,i,r, a, b;
int main()
{
cout << "a="; cin >> a;
cout << "b="; cin >> b;
d = a;
i = b;
r=d%i;
while(r!=0)
{
d=i;
i=r;
r=d%i;
}
cout <<"c.m.m.d.c = " <<i << "\n";
cout <<"c.m.m.m.c =" << (a * b) / i;
return 0;
}
#include <iostream>
using namespace std;
int d,i,r, a, b;
int main()
{
cout << "a="; cin >> a;
cout << "b="; cin >> b;
d = a;
i = b;
r=d%i;
while(r!=0)
{
d=i;
i=r;
r=d%i;
}
cout <<"c.m.m.d.c = " <<i << "\n";
cout <<"c.m.m.m.c =" << (a * b) / i;
return 0;
}
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Așteptăm cu nerăbdare să vă revedem și nu uitați să ne salvați în lista de favorite!