최대공약수 (GCD)

private static int gcd(int a, int b) {
    if (b == 0) {
        return a;
    } else {
        return gcd(b, a % b);
    }
}
private static int gcd(int a, int b) {
		while(b != 0) {
			int r = a % b;
			a = b;
			b = r;
		}
		return a;
}

최소공배수(LCM)

//g는 최대공약수
l = g * (a / g) * (b / g)

Reference