Yo no soy la comprensión de cómo los siguientes formularios obras
http://en.wikipedia.org/wiki/Greatest_common_divisor#Using_Euclid.27s_algorithm
En realidad lo que hice (para mi la programación de la tarea fue bucle a través de los max de 2 números hasta que yo llegue a 1 que divide a ambos números dados sin un resto). Fuerza bruta, por lo que no es ideal. Así que quiero entender más acerca de esta formularios en lugar de utilizar.
public static int gcd(int a, int b) {
/**
* Get max of both numbers
* Loop down max number and test if its divisible by both numbers
* if yes, thats the answer, else continue
* if no answer, return 0
*/
int max = Math.max(a, b);
for (int i = max; i > 0; i--) {
if (a % i == 0 && b % i ==0) {
return i;
}
}
return 0;
}