java怎么求最大公约数?

最大公约数

①定义

几个自然数公有的约数,叫做这几个数的公约数;其中最大的一个,叫做这几个数的最大公约数。

②辗转相除法

又称“欧几里得算法”,是求最大公约数的算法

求两个数的最大公约数:如果m > n,令余数remainder = m%n,如果余数不为0,则令m = n, n = remainder,再次remainder = m%n,直到remainder = 0,此时n就是最大公约数。

求多个数的最大公约数:先求出其中两个数的最大公约数,再求这个最大公约数与第三个数的最大公约数,依次求下去,直到最后一个为止,最后所得的那个最大公约数,就是所求的几个数的最大公约数

③代码实现

public static int maxCommonDivisor(int m, int n) {  
        if (m < n) {     // 保证被除数大于除数
            int temp = m;  
            m = n;  
            n = temp;  
        }  
        while (m % n != 0) {  // 在余数不能为0时,进行循环  
            int temp = m % n;  
            m = n;  
            n = temp;  
        }  
        return n;    // 返回最大公约数  
    }
登录后复制

以上就是java怎么求最大公约数?的详细内容,更多请关注悠悠之家其它相关文章!

点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部