public static void main(String[] args) {
	/*
	 * 最大公約数 Greatest Common Divisor(GCD)
	 * 最小公倍数 f(a,b)=f(min(a,b),max%min)
	 * if(max%min=0) f(a,b)=min
	 * 最大公倍数Least Common Multiple(LCM)
	 */
	Scanner sc = new Scanner(System.in);
	int a = sc.nextInt();
	int b = sc.nextInt();
	System.out.println("最大公約数:" + gcd(a, b));
	System.out.println("最小公倍数:" + lcm(a, b));
}

public static int gcd(int a, int b) {
	int max, min, remainder;
	max = (a > b) ? a : b;
	min = (a < b) ? a : b;
	remainder = max % min;
	if (remainder == 0)
		return min;
	else
		return gcd(min, remainder);
}

public static int lcm(int a, int b) {
	return a * b / gcd(a, b);
}

心得:
1.利用递归实现,辗转相除法求最大公约数。
2.最小公倍数等于两数相乘再除以最大公约数。