JAVA辗转相除求最大公约数

来源:互联网 发布:js防水卷材厚度 编辑:程序博客网 时间:2024/05/16 04:43

 
辗转相除的基本思想就是:
用大的数除以小数;
取得余数,若余数为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);        }    }}
0 0