Chapter_2 算法分析:欧几里得算法
2017-02-03 16:26
239 查看
unsigned int GCD(unsigned int M,unsigned int N) //M>=N { unsigned int Rem; while(N>0) { Rem=M%N; M=N; N=Rem; } return M; }
时间复杂度为O(log N),N为较小数字。
迭代次数最多为2log(N)
定理:若M>N,则 M mod N < M/2
相关文章推荐
- 浅析时钟向量算法
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- 书评:《算法之美( Algorithms to Live By )》
- 动易2006序列号破解算法公布
- C#递归算法之分而治之策略
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- C#算法之大牛生小牛的问题高效解决方法
- Lua和C语言的交互详解
- C#算法函数:获取一个字符串中的最大长度的数字
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- 经典排序算法之冒泡排序(Bubble sort)代码
- Android数据加密之异或加密算法的实现方法
- 关于C语言中参数的传值问题