本文最后更新于 102 天前,其中的信息可能已经有所发展或是发生改变。
// 计算两个数的 GCD
int gcd(int a, int b)
{
while (b) // b!=0
{
int r = a % b;
a = b;
b = r;
}
return a;
}
// 计算两个数的 LCM
int lcm(int a, int b)
{
return a / gcd(a, b) * b; // 先除后乘,避免溢出
}
// 计算三个数的 GCD
int gcd3(int a, int b, int c) {
return gcd(gcd(a, b), c);
}
// 计算三个数的 LCM
int lcm3(int a, int b, int c) {
return lcm(lcm(a, b), c);
}