Buongiorno, sto avendo numerosi problemi con un codice relativo al Massimo Comune divisore tra due numeri usando il metodo di Euclide: Quando il programma arriva al ciclo do while si blocca e non riesco a capire perchè.
Riporto di seguito il codice:
#include <iostream>
using namespace std;
int main(){
int a1, b1;
cout<<"Inserire il primo numero"<<"\n";
cin>>a1;
int d=a1;
cout<<"Inserisci il secondo numero "<<"\n";
cin>>b1;
do {
if(a1>b1) a1=a1-b1;
else if(a1<b1) a1=b1-a1;
} while(a1!=b1);
cout<<"Il MCD e' "<<a1<<"\n";
int mcm=(d*b1)/a1;
cout<<"Il mcm e' "<<mcm<<"\n";
system("pause");
}