最小公倍数
文章目录
1.求最小公倍数
public int lcm(int x ,int y){for(int i=Math.max(x,y);i<x*y;i++){//x和y的最大公约数一定在最大的那个数和x*y之间if(i%x ==0 && i%y==0){//在小于x*y的时候找到了最小公倍数return i;}}return x*y;//在x*y的时候没有公倍数,那么x*y就是他俩的最小公倍数}
运行结果图(求2和3的最小公倍数):
2.1已知最大公约数求最小公倍数
public int lcm(int x,int y){return x*y/gcd(x,y);//gcd(x,y)是x和y的最大公约数}
例如:
a.求 2和4的最小公倍数,2和4的最大公约数为2,则它的最小公倍数就等于(24)/2=4;
b.求3和4的最小公倍数,3和4的最大公约数为1,则它的最小公倍数就等于(34)/1=12,即12就是3和4的最小公倍数。
2.2已知最大公约数求最小公倍数(当x和y比较大的时候,2.1的方法可能会导致溢出)
public int lcm(int x,int y){int num=gcd(x,y);return (x/num)*(y/num)*gcd;}
这个就不举例子啦,我相信你们聪明的大脑肯定是可以想明白的。