欢迎访问宙启技术站
智能推送

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实现求两个整数的最小公倍数的一些常用方法,可以根据实际需求选择合适的方法来使用。