欧几里得算法与扩展欧几里得算法
2013-11-04 14:50
267 查看
求最大公约数,一般采用gcd算法。http://zh.wikipedia.org/wiki/%E6%AC%A7%E5%87%A0%E9%87%8C%E5%BE%97%E7%AE%97%E6%B3%95
gcd算法简单高效,是对数级别的算法。
下面给出它的递归形式和迭代形式。
Python
gcd算法简单高效,是对数级别的算法。
下面给出它的递归形式和迭代形式。
def extendedGCD(a, b): #a*xi + b*yi = ri if b == 0: return (1, 0, a) #a*x1 + b*y1 = a x1 = 1 y1 = 0 #a*x2 + b*y2 = b x2 = 0 y2 = 1 while b != 0: q = a / b #ri = r(i-2) % r(i-1) r = a % b a = b b = r #xi = x(i-2) - q*x(i-1) x = x1 - q*x2 x1 = x2 x2 = x #yi = y(i-2) - q*y(i-1) y = y1 - q*y2 y1 = y2 y2 = y return(x1, y1, a)
Python
相关文章推荐
- 欧几里得算法和扩展欧几里得算法
- 欧几里得算法与扩展欧几里得算法总结
- HHU暑期第一弹——小小小数论(欧拉函数+埃式筛法+分解质因数+欧几里得算法+扩展欧几里得算法和模线性方程)
- 欧几里得算法和扩展欧几里得算法
- 欧几里得算法和扩展欧几里得算法
- 欧几里得算法与扩展欧几里得算法与逆元
- 欧几里得算法以及扩展欧几里得算法(过河noip2005提高组第二题)
- noip知识点总结之--欧几里得算法和扩展欧几里得算法
- GCD Extends_GCD 欧几里得算法+扩展欧几里得算法详解
- 欧几里得算法(GCD)和扩展欧几里得算法(EXGCD)
- 欧几里得算法和扩展欧几里得算法
- 欧几里得算法与扩展欧几里得算法模板
- 欧几里得算法,扩展欧几里得算法及裴蜀定理证明
- 欧几里得算法和扩展欧几里得算法
- 欧几里得算法和扩展欧几里得算法
- 欧几里得算法/扩展欧几里得算法
- 欧几里得算法和扩展欧几里得算法的简单例子
- 欧几里得算法与扩展欧几里得算法
- 欧几里得算法及扩展欧几里得算法
- 欧几里得算法与扩展欧几里得算法