前言
逆元其实是一个很小的知识点,但是在数论中也起到了比较大的作用。这篇文章主要是介绍逆元,和它在一些其他方面的应用。可能我在证明的过程中会出现一些错误,如果你在看这篇文章的过程中发现了问题,欢迎在私信或评论中指出!
What is 逆元
我们想一个问题,如果我们要求在modm下求a/b的答案,这显然很简单。但是当b变到很大的时候,朴素的做法就会“砰”的一声爆炸!!如何解决这类问题呢,我们可以试着将出发转化为乘法。
我们假设c为b在modm意义下的逆元。
则
,
所以
所以 就转换成了
如何求逆元
1)费马小定理;
首先再说这个方法前,我们先回顾一下费马小定理。费马小定理为
(
为素数,且
与
互质)。
则可以证明:
所以对于一个数 ,其在 意义下的逆元为 。
用 快速幂求解,时间复杂度是
2)扩展欧几里得算法;
首先我们还是要分析一个问题,假设我们有一个这样的式子
,那么我们是否可以把式子转化为
。于是乎我们就可以把式子转换为
,我们就可以通过扩展欧几里得的方法来找出整数解
和
,最后
就是在
意义下与
的逆元。这种方法的时间复杂度依旧是
。
后记
其实逆元真的很简单,这篇文章只是一个证明及总结,代码我没有放,但是非常的好写。