码迷,mamicode.com
首页 > 编程语言 > 详细

欧几里得算法 —— day100

时间:2016-05-08 19:36:43      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:

欧几里得算法,用于求最大公因数。

package algorrithm;

/*
 *  欧几里得算法
 *  定理:两个整数的最大公约数等于其中较小的那个数和两数的相除余数的最大公约数
 *  最大公约数(greatest common divisor)缩写为gcd。
 *  gcd(a,b) = gcd(b,a mod b) (不妨设a>b 且r=a mod b ,r不为0)
 */
public class Ojld {
    public static void main(String[] args){
        Gcd gcd = new Gcd();
        System.out.println(gcd.getGcd(481,221));
    }
}
class Gcd{
    private int mod;
    
    public int getGcd(int a,int b){
        if(a == b){
            return a;
        }
        // 互换a,b 保证 a > b
        if(a < b){
            a = a + b;
            b = a - b;
            a = a - b;
        }
        
        Gcd gcd2 = new Gcd();
        mod = a % b;
        if(mod > 0){
            return gcd2.getGcd(b,mod);
        }else{
            return b;
        }
    }
}

 

欧几里得算法 —— day100

标签:

原文地址:http://www.cnblogs.com/SandBoat/p/5471184.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!