算法总结之 一行代码求两个数的最大公约数

给定两个不等于0的整数M和N,求M和N的最大公约数

 辗转相除法

  思路:如果q和r分别是m除以n的商及余数,即m=nq+r, 那么m和n的最大公约数等于n和r的做大公约数!(递归)

 

public class Test9 {

    public static int gcd(int m, int n){
        return n==0 ? m : gcd(n, m%n);
    }
    
    public static void main(String[] args){
       
         int  x = gcd(15, 3);
         System.out.println(x);
        
    }
    
}

 

posted @ 2017-08-23 09:00  toov5  阅读(538)  评论(0编辑  收藏  举报