想了解更多算法題,可以關注微信公衆號“數據結構和算法”,每天一題爲你精彩解答。也可以掃描下面的二維碼關注
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;
}