GCD欧几里德算法 又称辗转相除法 用来求最大公约数
LCM 求最小公倍数
这里需要知道一个结论 两个数的最小公倍数等于这两数的乘积除以它们的最大公约数
int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}
int lcm(int a,int b)
{
return a/gcd(a,b)*b;
}
这里先进行除法的目的是 a*b可能会溢出
GCD欧几里德算法 又称辗转相除法 用来求最大公约数
LCM 求最小公倍数
这里需要知道一个结论 两个数的最小公倍数等于这两数的乘积除以它们的最大公约数
int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}
int lcm(int a,int b)
{
return a/gcd(a,b)*b;
}
这里先进行除法的目的是 a*b可能会溢出