数论:逆元

今天讲讲逆元

逆元

首先,我们先引入一个概念:同余 

什么是同余?

若 a 与 b除以正整数p有一样的余数,那么我们说a与b在模p的意义下同余,即,a \equiv b(mod p))

同余还有同余类和剩余系,大佬们或者学有余力的读者可以自行百度,至少我是不会的啦

那么我们来讲讲什么是逆元 

a\times b\equiv 1(mod p),则a与b互为逆元。

那逆元有什么用呢?

这又涉及一个知识点:取模

因为a/b%p\neq(a%p/b%p)%p,所以我们要找到一个东西使得它=b^{-1},这个数,便是b的逆元。

现在又来了一个问题,逆元怎么求

那么我们可以引入两个定理:

1.费马小定理

若p是质数,则对于任意整数a,有a^p\equiv a(mod p).

2.欧拉定理

若正整数a,n互质,则有a^{\phi (n)}\equiv 1(mod p),其中\phi (n)为欧拉函数。

欧拉定理与费马小定理证明,大家可以上网去搜索。

不过你若是知道一点:当n为质数时:\phi (n)=n-1

那你就可以用欧拉定理证明费马小定理。

回到正题,一般求逆元,使用的是费马小定理

若要求a模p意义下的逆元(p为质数),则只用求a^{p-2},用快速幂即可

为什么呢?
这个问题留给读者自己证明。

给个提示:用费马小定理的式子与逆元的式子

自然,逆元还有其他方法,比如杨辉三角,扩展欧几里得,中国剩余定理+扩展欧几里得 等等

杨辉三角的方法其实很水,但时间复杂读不允许n>=1000的数据

程序你们自己打吧,很水的。

猜你喜欢

转载自blog.csdn.net/LeeCongWei/article/details/107740989