gcd最大公约数 与 lcm最小公倍数 实现

gcd最大公约数

使用辗转相除法 实现代码:

int gcd(int a , int b )
{
    return b ? gcd( b , a % b) : a ;
}

如果记不住代码写法可以使用头文件algorithm中的__gcd()函数,使用方法一样。

lcm最小公倍数

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

为防止a * b 时爆数据类型 可先除后乘

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

你可能感兴趣的:(算法与数据结构,c语言,开发语言)