Implementazioni di algoritmi/Algoritmo di Euclide: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 4:
Dati due numeri naturali a e b, si controlla se b è zero. Se lo è, a è il MCD. Se non lo è, si divide a / b e si assegna ad r il resto della divisione (operazione indicata con "a modulo b" più sotto). Se r = 0 allora si può terminare affermando che b è il MCD cercato altrimenti occorre assegnare a = b e b = r e si ripete nuovamente la divisione. L'algoritmo può essere anche espresso in modo naturale utilizzando la ricorsione in coda.
 
===Implementazione in [[C]]/[[C++]] - versione ricorsiva===
<source lang="c">
int mcd(int a, int b) {
Riga 13:
} ;
</source>
===Implementazione in [[PythonC]]/[[C++]] - versione non ricorsiva===
<source lang="c">
int mcd(int a, int b) {
int t;
while (b != 0) {
t = b;
b = a % b;
a = t;
}
return a;
}
</source>
===Implementazione in [[Python]] - versione ricorsiva===
<source lang="python">
def mcd(a,b):