CMMDC

Metoda 1. Algoritmul lui Euclid cu scăderi

Algoritmul lui Euclid cu scăderi este o metodă mai puțin eficientă, însă mai ușor de înțeles. Acest algoritm se bazează pe principiul următor: dacă d | a și d | b, atunci d | a - b (unde a ≥ b) — dacă d divide ambele numere, atunci divide și diferența lor.

Iată algoritmul propriu zis:

  • cât timp numerele sunt diferite, se scade numărul mai mic din cel mai mare;
  • când numerele devin egale, atunci CMMDC-ul lor este chiar numărul lor.

    while(a != b)
     {
     if(a > b)
    a = a - b;
     else b = b - a;
     }


CMMMC

Metoda 2. Algoritmul lui Euclid clasic (cu împărțiri)

Algoritmul lui Euclid cu împărțiri este mai dificil de înțeles, însă este mai eficient (acesta este algoritmul recomandat pentru rezolvarea problemelor).

Pe scurt, observăm că în codul anterior facem scăderi repetate. Aceste scăderi se pot înlocui cu împărțiri, astfel că algoritmul este următorul:

  • cât timp b este diferit de 0, a primește b, iar b primește restul împărțirii lui a la b;
  • răspunsul în final se află în a.

    while(b != 0)
     {
      r = a % b; //Restul împărțirii lui a la b
     a = b;
     b = r;
     } 
Creați un site gratuit! Acest site a fost realizat cu Webnode. Creați-vă propriul site gratuit chiar azi! Începeți