Răspuns :
Răspuns:
Complexitate: O(max(n,m))
Metoda iterativa:
void swap(int* a, int* b){
int cp = *a;
*a = *b;
*b = cp;
}
int alg(int m, int n){/*Prin scadere repetata*/
while(m!=n){
if(n>m){swap(&n,&m);}
else{m = m - n;}
}
return n;
}
Explicație:
Algoritmul respectiv este algoritmul pentru calcularea celui mai mare divizor comun prin metoda scaderii repetate.
Cel mai rau caz pentru acest algoritm este cand unul dintre paramteri este 1,
care se va scadea repetat din celalalt pana cand si celalalt ajunge la 1(conditia de terminare).
Astfel, daca n = 1 (complexitatea O(m)) sau m = 1(complexitatea O(n)).
In final, complexitatea este O(max(n,m)).
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.