这些东西真是让我烧脑,太菜了我
先从费马小定理说起吧
费马小定理
ap-1 ≡1(mod p)(p为质数)
证明如下:
不难发现,模p的剩余系为(1,2,3.....,p-1)
于是将所有的剩余系都乘a再(mod p)
变为(1*a,2*a,3*a,....3*(p-1))
可以证得我们还是可以得到原来的那些数
反证法:
若有xi*a≡xj*a(mod p)
则有xi≡xj(mod p)
然而这个序列没有满足这种要求的数
因此,(1*a*2*a*3*a....*(p-1)*a)≡(1*2*3*....*(p-1))(mod p)
所以,将相同项约去ap-1≡1(mod p)
接着,换扩展欧几里得
就这样吧,上边这篇blog将挺好的
看完可以写写这题哦
接着,就可以学乘法逆元了
乘法逆元
逆元是啥?
定义在这
- a*x≡1(mod p)则称x为a模p意义上的逆元
逆元怎么求?
这里定义x的逆元为x-1
若p(模数)为质数,用费马小定理推;
若a(要求的就是这个数的逆元),p互质,则用扩欧;
若啥也不是,只好用递推式了:i-1=(-(p/i)*(p%i)-1);
递推式怎么推出来的呢?
是这样的:
令p=k•x+d(k为(p/x)向下取整,d为p mod x)
则k·x+d≡0(mod p)
两边同乘x-1·d-1得
k·d-1+x-1≡0(mod p)
移项得:
x-1≡-k·d-1(mod p)
因为d为p mod x<x,所以,可以先将d-1求出
其实具体可以去写写题看看题解(逃
还有什么,中国剩余定理
中国剩余定理