Java求最大公约数,最小公倍数----欧几里得算法

1、欧几里德算法又称辗转相除法,是指用于计算两个正整数a,b的最大公约数。计算公式gcd(a,b) = gcd(b,a mod b)。其中mod表示求余函数,及a、b的最大公约数为较小的数b与a和b余数的最大公约数。

假如需要求 1997 和 615 两个正整数的最大公约数,用欧几里德算法,是这样进行的:

当被加的数为 0 时,就得出了 1997 和 615 的最大公约数 1。

    // 功能:获取两个整数的最大公约数
    // 输入:两个整数
    // 返回:最小公倍数
    public static long gcd(long a, long b) {
        if (b == 0) {
            return a;
        } else {
            return gcd(b , a % b);
        }
    }

    // 功能:获取两个整数的最小公倍数
    // 输入:两个整数
    // 返回:最小公倍数
    public static long getMinMultiple(long a, long b) {

        return a * b/gcd(a, b);
    }

 

你可能感兴趣的:(Java,算法基础)