Java函数实现求两个整数的最小公倍数
发布时间:2023-08-16 18:36:56
最小公倍数(Least Common Multiple,简称LCM)是指若两个整数a和b的最小的公倍数是m,则m是a和b的公倍数中最小的一个。
求两个整数的最小公倍数的方法有多种,以下介绍几种常用的方法:
1. 辗转相除法:首先求出两个整数的最大公约数(Greatest Common Divisor,简称GCD),然后用两个整数的乘积除以最大公约数,即可得到最小公倍数。求最大公约数的函数可以使用递归或循环来实现。
public static int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
public static int lcm(int a, int b) {
int gcd = gcd(a, b);
return (a * b) / gcd;
}
2. 枚举法:从较大的数开始,依次判断是否同时能被两个整数整除,直到找到最小公倍数。
public static int lcm(int a, int b) {
int max = Math.max(a, b);
int lcm = max;
while (true) {
if (lcm % a == 0 && lcm % b == 0) {
break;
}
lcm += max;
}
return lcm;
}
3. 利用最大公约数的性质:最小公倍数等于两个整数的乘积除以最大公约数。
public static int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
public static int lcm(int a, int b) {
int gcd = gcd(a, b);
return (a * b) / gcd;
}
以上是Java实现求两个整数的最小公倍数的一些常用方法,可以根据实际需求选择合适的方法来使用。
