java 求最小公倍数详解

想了解更多算法题,可以关注微信公众号“数据结构和算法”,每天一题为你精彩解答。也可以扫描下面的二维码关注在这里插入图片描述

​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;
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章