欧几里德算法
欧几里德算法又称辗转相除法,是指用于计算两个正整数a,b的最大公约数。
计算公式:gcd(a,b) = gcd(b,a mod b)。
算法实现:
public static int gcd(int numA, int numB) {
return numB == 0 ? numA : gcd(numB, numA % numB);
}
Q:怎么求最小公倍数呢?
A:公式:lcm(a,b) = a/gcd(a,b)*b
注意:千万不要写成 lcm(a,b) = a*b/gcd(a,b),因为a*b可能会溢出。
算法实现:
p