复习数学之中国剩余定理和欧拉定理和扩展欧几里德

来源:互联网 发布:淘宝优惠券网站排名 编辑:程序博客网 时间:2024/05/15 05:29

这几个玩意儿忘光了。。。

中国剩余定理

对于线性同余方程组:
xa1(modm1)
xa2(modm2)
xa3(modm3)

xan(modmn)
定义
M=ni=1m
Mi=M/mi
tiMi1(modmi)tiMimi意义下的逆元
那么就可以构造出原方程组的通解:
x=aitiMi+kM(kZ)
这个东西代进原方程组是很显然成立的,至于证明看起来很难咱懒得看就不说了

那这个东西到底有啥用呢?
在我们需要求大数取模,而所模的数不是一个质数的情况下就需要用到啦
这里答案等于把模数分解质因数成prii的形式然后对每个不同的质数都求模就行了,注意这里如果ri>1的话要用特殊的方法来处理

然后说说求逆,求逆可以通过欧拉定理和扩展欧几里德来求,因为欧拉定理比较简单粗暴所以先说欧拉定理

欧拉定理

aϕ(n)1(modn)其中a和n互质,然后就没了。。。

扩展欧几里德

先说一些性质:
贝祖定理:ax+by=c有解当且仅当gcd(a,b)|c
可以注意到:ax+by=1 (gcd(a,b)==1)好像没什么用。。。
然后就直接上exgcd模板!完美解决!
求出一组解x0,y0之后可以根据性质通过通解公式:
x=x0+bgcd(a,b)t,y=y0agcd(a,b)t

求出其他符合条件的解

那么说完这两个东西再说说具体怎么求逆
ax1(modb)
x有解的前提是a,b互质

根据欧拉定理我们可以得到:
aϕ(n)=aaϕ(n)11(modb)
那么显然a的逆元就是aϕ(n)1

用扩展欧几里德的话由ax1(modb)就可以得到ax+by=1,很显然吧,那么直接套exgcd求出x就是逆元了

0 0
原创粉丝点击