最大公因数(GCD)和最小公倍数(LCM)

阅读时长: 1 分钟 95 字
// 计算两个数的 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);
}
本网站已运行: 计算中...
备案 赣公网安备36072502000191 | 赣ICP备2024040374号
使用 Hugo 构建 · 主题 Stack 由 Jimmy 设计