Java程序实现欧几里得算法-计算两个数的最大公约数

欧几里得算法-计算两个数的最大公约数


最近,总觉得自己的代码写的很low,想要做一些优化,却又不知从何处下手,于是开始复习一下之前学过的算法,并且试着用Java代码将其实现,整理出来,免不得Ctrl C+Ctrl V用久了脑子就不好使了


/**
 * 欧几里得算法:计算两个非负整数的最大公约数:
 * 若除数divisor为0,则最大公约数为被除数dividend
 * 否则,将被除数dividend除以除数divisor得到余数remainder
 * 被除数dividend和除数divisor的最大公约数即为除数divisor和余数remainder的最大公约数
 * Created by Waria on 2017/8/18.
 */
public class EuclideanAlgorithm {
    /**
     * 欧几里得算法:计算两个非负整数的最大公约数
     *
     * @param dividend 被除数
     * @param divisor  除数
     * @return
     */
    public static int euclidean(int dividend, int divisor) {
        if (divisor == 0) {
            return dividend;
        }
        //余数
        int remainder = dividend % divisor;
        return euclidean(divisor, remainder);
    }
}


你可能感兴趣的:(算法)