看《算法导论》31.8素数的测试,中间用到31章其他知识,所以决定完整看一看,将期间的伪代码实现一下。顺带也作为菜鸟博的第一篇。
1、欧几里得算法求最小公约数
2、欧几里得算法的推广形式
( 1 ) 特别地,我们推广该算法,使它能计算出满足下列条件的整系数x和y, d=gcd(a,b)=ax+by。注意x与y可能为0或负数。
( 2 ) 过程EXENDED-EUCLID的输入为一对非负整数,返回一个满足d=gcd(a,b)=ax+by的三元式(d, x, y)。
( 3 ) a和n互质时,记号(a-1 mod n)表示a对模n乘法的逆元。如果gcd(a, n) = 1,则方程ax = 1(mod n)的一个解就是EXTENDED_EUCLID所返回的整数x,因为方程gcd(a, n) = 1 = ax + ny蕴含着ax = 1(mod n)。因此运用EXTENDED_EUCLID可以有效计算出(a-1 mod n)
3、求解模线性方程ax = b (mod n)