Para este WSQ sólo vi un video en youtube sobre el algoritmo de Euclid y lo demás lo deduje por lógica. Aquí está el código. El operador % ayudó bastante para simplificar la función.

//WSQ12
#include <iostream>
using namespace std;

int gcd (int x, int y){
int yy;
int xx;
int z=1;
while(z!=0){
xx=x;
yy=y;
x=y;
y=xx%yy;
z=(x%y);
}
return y;}

int main(){
int x,y;
cout<<“Dame el mayor valor “<<endl;
cin>>x;
cout<<“Dame el menor valor “<<endl;
cin>>y;
if(y>x){
cout<<“El primer valor debe ser mayor o igual al segundo “<<endl;
}
else{
cout<<“El máximo común divisor es “<<gcd(x,y)<<endl;
}
return 0;}

CC BY 4.0 WSQ12 by giorgiodc is licensed under a Creative Commons Attribution 4.0 International License.