逆元的两种求法

扩展欧几里得

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值