/* * Calculate the Greatest Common Divisor * Euclid的辗转相除法 * gcd(a,b)=gcd(b,a) * gcd(a,b)=gcd(-a,b) * gcd(a,0)=|a| * gcd(a,b)=gcd(b,a%b) 0<=a%b<b */ public class Gcd { public static int gcd(int a, int b) { // 返回a和b的最大公因数 while (b != 0) { int temp = a % b; a = b; b = temp; } return a; } public static void main(String[] args) { int a = 12, b = 18, c = 24; System.out.println("gcd(" + a + "," + b + "," + c + ")=" + gcd(gcd(a, b), c)); } }