扩展欧几里德与中国剩余定理1.pptVIP

  • 12
  • 0
  • 约5.25千字
  • 约 34页
  • 2018-03-07 发布于河北
  • 举报
扩展欧几里德与中国剩余定理1

数论 扩展欧几里德算法 中国剩余定理/线性同余方程 /素数/欧拉函数 扩展欧几里德算法 欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。 原理 gcd(a,b) = gcd(b,a mod b) 证明: a可以表示成a = kb + r,则r = a mod b 假设d是a,b的一个公约数,则有d|a, d|b,而r = a - kb,因此d|r 因此d是(b,a mod b)的公约数 续 依据以上原理: 经过一步代换必有 a b 以后的每次代换 将 a 换为 b ,将 b 换为 a % b ,这样 a,b 必定再减小。 当 b 减小到 0 时,它们的最大公因数为a 实现代码: int euclid(int a,int b) { if (b==0) return a; else return euclid(b,a%b); } 扩展欧几里德算法 扩展欧几里德算法是用来在已知a, b 求解一组p,q使得p * a+q * b = Gcd(a, b) (解一定存在,根据数论中的相关定理)。 原理 因为Gcd(a, b) = Gcd(b,a%b) 所以p * a+q * b = Gcd(a, b) = Gcd(b,a%b) = p * b + q * a % b = p *

文档评论(0)

1亿VIP精品文档

相关文档