Calcular el máximo común divisor entre dos números enteros positivos

Calcular el máximo común divisor entre dos números enteros positivos. (Programa en lenguaje CPP/C++, utilizando sentencias iterativas)

#include <stdio.h>
#include <conio.h>
void main(){
    int a, b, x, z, y=1, i=2;
    printf ("MAXIMO COMUN DIVISOR\n");
    printf ("Introduzca numero A: ");
    scanf("%d",&a);
    printf ("Introduzca numero B: ");
    scanf("%d",&b);
    if (a<b){
        x=a; z=b;
    } else {
        x=b; z=a;
    }
    do {
        if (x%i==0 && z%i==0){
            y=y*i;
            x=x/i; z=z/i;
            i=2;
        }
        else i++;
    }while(i<=x);
    printf ("El Maximo comun divisor es : %d",y);
    getch();
}

Comentarios