JAVA辗转相除求最大公约数

 
辗转相除的基本思想就是:
用大的数除以小数;
取得余数,若余数为0,则最大公约数为除数;
若余数不为零,则用除数除以余数,递归直到余数为0

package com.liu.util;

public class GetMaximumCommonDivisor {

    public static int getDivisor(int m, int n){ 
        /**
         *  判断m,n的大小,用大的数除以小数,
         *  取得余数,若余数为0,则最大公约数为除数
         *  若余数不为零,则用除数除以余数
         */

        int tmp = 0;
        if(m < n){
            tmp = m;
            m = n;
            n = tmp;
        }

        int result = m % n;
        if(result == 0){
            return n;
        }else{
            return getDivisor(n, result);
        }

    }
}

你可能感兴趣的:(JAVA)