扩展欧几里德算法计算乘法逆元.docVIP

  • 10
  • 0
  • 约1.47千字
  • 约 5页
  • 2016-08-23 发布于河南
  • 举报
扩展欧几里德算法计算乘法逆元

扩展欧几里德算法 欧几里德算法欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理: 定理:gcd(a,b) = gcd(b,a mod b)欧几里德算法就是根据这个原理来做的,其算法用C++语言描述为: void swap(int a, int b) { int c = a a = b; b = c; } int gcd(int a,int b){ if(0 == a ){ return b; } if( 0 == b){ return a; } if(a b){ swap(a,b); } int c; for(c = a % b ; c 0 ; c = a % b){ a = b; b = c; } return b; } 扩展欧几里德算法逆元模P乘法逆元 对于整数a、p,如果存在整数b,满足ab mod p =1,则说,b是a的模p乘法逆元。 定理:a存在模p的乘法逆元的充要条件是gcd(a,p

文档评论(0)

1亿VIP精品文档

相关文档