Esercizio 6
Calcolare il massimo comun divisore di due numeri interi inseriti da tastiera
con metodo ricorsivo.
La soluzione più rapida al calcolo dell’MCD di due interi rimane l’algoritmo
di Euclide che è di per se ricorsivo.
#include<iostream>
using namespace std;
int mcd(int a, int b){
return b==0 ? a : mcd(b,a%b);
}//mcd
main(){
int a,b;
cout<<"ins.a:";cin>>a;
cout<<"ins.b:";cin>>b;
cout<<mcd(a,b);
}//main
Si controlla se (b) è zero; se lo è, (a) è il MCD.
Se non lo è, la funzione richiama se stessa con b a l posto di a e con il
resto a%b al posto di b; ovviamente se questo resto è nullo, la funzione
verrà terminata ed il valore a%b sarà l?MCD.