今天讲讲逆元
首先,我们先引入一个概念:同余
什么是同余?
若 与 除以正整数p有一样的余数,那么我们说a与b在模p的意义下同余,即,
同余还有同余类和剩余系,大佬们或者学有余力的读者可以自行百度,至少我是不会的啦
那么我们来讲讲什么是逆元
若 ,则a与b互为逆元。
那逆元有什么用呢?
这又涉及一个知识点:取模
因为a/b%p(a%p/b%p)%p,所以我们要找到一个东西使得它,这个数,便是b的逆元。
现在又来了一个问题,逆元怎么求?
那么我们可以引入两个定理:
若p是质数,则对于任意整数a,有 .
若正整数a,n互质,则有 ,其中为欧拉函数。
欧拉定理与费马小定理证明,大家可以上网去搜索。
不过你若是知道一点:当n为质数时:
那你就可以用欧拉定理证明费马小定理。
回到正题,一般求逆元,使用的是费马小定理
若要求a模p意义下的逆元(p为质数),则只用求,用快速幂即可
为什么呢?
这个问题留给读者自己证明。
给个提示:用费马小定理的式子与逆元的式子
自然,逆元还有其他方法,比如杨辉三角,扩展欧几里得,中国剩余定理+扩展欧几里得 等等
杨辉三角的方法其实很水,但时间复杂读不允许n>=1000的数据
程序你们自己打吧,很水的。