首页 > 代码库 > 【算法数据结构Java实现】欧几里得算法
【算法数据结构Java实现】欧几里得算法
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
******************************************/
【算法数据结构Java实现】欧几里得算法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。