您的位置:首页 > 其它

求最小公倍数(公式法)的实现

2016-03-04 20:50 337 查看
LCM(a,b) =a × b
GCD(a,b)
根据上图公式可以知道:两个数最小公倍数 = 两个数的乘积/两个数的最大公约数;

也就是 gcd(a, b) * lcm(a, b) = a * b;

所以 lcm(a, b) = (a * b)/gcd(a, b);

可以写出函数:

int gcd(int a, int b) {

return b == 0 ? a : (b, a%b);

}

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: