[算法]辗转相除法求最大公约数

辗转相除法用得比较多,今天Mark一下。具体做法就是:如果q和r分别是m除以n的商及余数,即m=nq+r,那么m和n的最大公约数等于n和r的最大公约数。

代码如下:

public static int gcd(int m, int n) {
    return n == 0 ? m : gcd(n, m % n);
}

 

posted @ 2017-05-18 20:56  DarrenChan陈驰  阅读(449)  评论(0编辑  收藏  举报
Live2D