关于逆元(证明扩展欧几里得定理)

昨天考试的时候接触到了逆元。。(还以为是个推公式的结果的题目。。
当时我连逆元这东西也不知道啊囧
然后owen在楼下搞完了又跑上来搞事情,说什么要用逆元。。
(然后之后虽然讲了课但是我太naive了听不懂,只好自己查资料)


逆元是什么呢?打个比方,(10/2)%10怎么边算边模呢?
如果这样(10%10)/(2%10)的话结果是0,但是事实上结果应该是5
所以要找出逆元
在数学中,除以一个数等于乘以一个数的倒数,那么我们可以这样看

b/a≡b*x (mod c)(x=1/a)

但是请注意,我们要求的并不是相等的解,而是同余的解所以t可以不为1/b
而为某一个整数即x≡1/a (mod c)
可得

①ax≡1 (mod c)

然后我们看一个方程

②ax=b (mod n)

可化为(ax-b)%n=0,这也就是说ax-b是n的整数倍,也就是ax-b=ny
那么可以得方程

③ax-ny=b

其实读者很快就发现了,欧几里得算法的方程与上面所得的方程类似
但是符号不一样啊!事实上并没有关系,因为y可以为负数嘛。(感觉在说废话
好的回过头来!
我们可以由②转换到③的过程将①转换成最终的公式

ax-cy=1

由欧几里得算法得ax-cy=gcd(a,c)
即a与c要互素,然后根据欧几里得算法,我们可以得到很多个y但是只有一个x,所以当a,c互素时x有唯一解,否则没有。

你可能感兴趣的:(OI)