想了解更多算法题,可以关注微信公众号“数据结构和算法”,每天一题为你精彩解答。也可以扫描下面的二维码关注
1,求最小公倍数,最简单粗暴的一种方式就是一个个试
public int lcm(int x, int y) {
for (int i = 1; i < x * y; i++) {
if (i % x == 0 && i % y == 0)
return i;
}
return x * y;
}
2,前面我们讲过求最大公约数,求出最大公约数之后,那么最小公倍数就容易多了,直接一行代码搞定
public int lcm2(int x, int y) {
return x * y / gcd1(x, y);
}
如果x,和y比较大的话,还有可能导致溢出,我们可以换种写法
public int lcm3(int x, int y) {
int gcd = gcd1(x, y);
return (x / gcd) * (y / gcd) * gcd;
}