最大公约数与最小公倍数_c/c++
gcd:greatest common divisor,最大公约数
欧几里得算法,也就是辗转相除法。公式:gcd(a, b) = gcd(b, a % b)
推论:gcd(b, a) == gcd(b, a-k*b)
1 //gcd模板 6 int gcd(int x, int y) { 7 return !x ? y : gcd(y % x, x); 8 }
推论:
最小公倍数: x, y的最小公倍数为:x * y / gcd(x, y)