浅谈逆元

【逆元的定义】

对于任意正整数a,m,若ax≡1 (mod m),则这个关于x的同余方程的最小正整数解x为“a模m的逆元”。

【逆元的应用】

常常会遇到这种题目:题目中运算的数据比较大,为了避免使用高精度,会要求选手输出答案mod p的结果,一般p是大小合适的质数。这样就可以利用同余的原理,使得每次运算结果都小于p,避免了高精度的使用。
显然,上述方法对于+、-、*运算还是比较方便的,但是如果需要用到除法,就会带来不便(假设b|a):
这里写图片描述
那么,怎么避免除法呢?可以用逆元。设bx≡1 (mod p),则a/b≡ax (mod p)。这个原理有点像倒数。

【逆元的求解】

求a模m的逆元就是解方程ax≡1 (mod m),下面来考虑如何求解:
方法一:若m是质数,a与m互质。根据费马小定理可以得到:
这里写图片描述

方法二:若a与m互质,根据欧拉定理可以得到:
这里写图片描述

发现上述方法都有一个共性:要求a,m互质。虽然m一般都是质数,而a是mod m过的,即a,m互质,但我们还是要寻找一个通解:
方法三:对于任意正整数a,m,要解方程ax≡1 (mod m)其实就是扩展欧几里得算法,具体详见【欧几里得算法及其扩展形式】。

方法四:本方法有些特别,它避开了ax≡1 (mod m)的求解,而是转向逆元的应用:求这里写图片描述
对于任意正整数a,b,m有这里写图片描述
下面证明这个结论:
这里写图片描述
至此,逆元问题就得到了解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值