首页 > 编程语言 > 详细

欧几里得算法 —— day100

时间:2016-05-08 19:36:19      阅读:136      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!