欧几里得算法
背景知识:
欧几里得算法:又叫做辗转相除法,用来求两个数的最大公约数。通过辗转相除,当余数为0的时候,最后的除数就是两个数的最大公约数。
例如:求20和11的最大公约数
每次将除数作为下一个式子的被除数,将余数作为下一个式子的除数。
20➗11=1......9
11➗9=1......2
9➗2=4......1
2➗1=2......0
所以最大公约数为最后一个式子的除数1,即gcd(20,11)=1
扩展欧几里得算法与逆元
扩展欧几里得算法结论:对整数 a 与 b来说, 必存在整数 x 与 y 使得
ax + by = gcd(a,b)
注:具体证明此处不做展开
逆元定义:ax = 1(mod p),此时a与x互为逆元
例如a = 4,p = 11,由