您的位置:首页 > 理论基础 > 数据结构算法

【算法数据结构Java实现】欧几里得算法

2014-11-25 13:23 267 查看

1.背景

           欧几里得算法是一个求最大因子的快速算法。如果m,n存在最大因子k,假设m=x*n+r,那么m和n可以整出k的话,r也肯定可以整除k           因为定理:如果M>N,则M mod N<M/2 ,说明时间复杂度是O(log(n))

2.代码
           

package Algorithm_analysis;

public class Euclid {

public static void main(String[] args){
int m=63;
int n=18;
int remainder=0;
while(n!=0){
remainder=m%n;
m=n;
n=remainder;
}
System.out.print(m);
}
}


/********************************* 本文来自博客  “李博Garvin“* 转载请标明出处:http://blog.csdn.net/buptgshengod
******************************************/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐