逆元的两种求法

扩展欧几里得

若要求a在%n意义下的逆x,那么要找一组解使得x,y满足ax+by=1,使用ex_gcd之后,会得到一组|x|+|y|最小的解(至于这个我也不是很清楚为什么),以下我试着证明此时若x<0x>n.

(默认a,n>0)若存在一组解x,y使得x<=n,设x=nk(k>=0)

a(nk)+ny=1

anak+ny=1

ak+n(ya)=1

因为k>=0所以ak<=0,又因为n>0,所以ya>0

原来的|x|+|y|=(n+k)+y 现在的|x|+|y|=k+(ya),明显后者小,所以原命题得证。

知道这个之后,对ex_gcd求出来的x,(x+n)%n就是要求的值了

欧拉定理

定理:对于给定的整数n>1,对于任意的在%n意义下的缩系(简化剩余系)中的a,有aphi(n)%n=1,因此a的逆元为aphi(n)1,如果n为素数的话,有phi(n)=n1那么an2 就是逆元了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值