求解逆元的几种姿势——费马小定理、欧拉定理、扩展欧几里得以及线性求法 C++

相信取模大家已经不怎么陌生,在值很大的题目里经常要我们对答案进行取模,只需熟练运用以下一些公式即可轻松搞定这种题目:
( a + b )   m o d   c = a   m o d   c + b   m o d   c ( a × b )   m o d   c = a   m o d   c × b   m o d   c ( a − b )   m o d   c = ( a   m o d   c − b   m o d   c + c )   m o d   c (a + b) \bmod c = a \bmod c + b \bmod c \\ (a \times b) \bmod c = a \bmod c \times b \bmod c \\ (a - b) \bmod c = (a \bmod c - b \bmod c + c) \bmod c \\ (a+b)modc=amodc+bmodc(a×b)modc=amodc×bmodc(ab)modc=(amodcbmodc+c)modc
但是,在上面的式子中,唯独少了除法不能边运算边取模。正是如此,我们也必须掌握在除法中如何进行取模,而帮助除法取模的方法,就是逆元

逆元的定义

对于任意两个整数 a , p a,p a,p,若存在整数 x x x使得 a x ≡ 1 ( m o d p ) ax \equiv 1 \pmod p ax1(modp),那么称 x x x a a a在模 p p p意义下的乘法逆元,记作 a − 1 a^{-1} a1
( a , p ) ≠ 1 (a, p) \neq 1 (a,p)=1,则 x x x不存在。

  • 求出来的 x x x可以保证对于任意的整数 k , k a ≡ k x ( m o d p ) k, \frac{k}{a} \equiv kx \pmod p k,akkx(modp),也就是 k a ≡ k ⋅ 1 a ( m o d p ) \frac{k}{a} \equiv k \cdot \frac{1}{a} \pmod p akka1
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值