[学习笔记]乘法逆元

本文介绍了模意义下逆元的概念及其重要性,详细讲解了如何利用费马小定理、欧拉定理以及扩展欧几里得算法求解逆元,并给出了相关例题和代码,适用于解决同余方程问题。

逆元是什么以及为什么要使用逆元

逆元的作用:在模意义下做乘法的逆运算。

在实数运算中,除以一个数,等于乘上这个数的倒数。而现在在模意义下,逆元就充当了“倒数”的角色,模意义下乘上逆元就相当于除以了一个数。

逆元定义:如果一个线性同余方程 a x ≡ 1 ( m o d b ) ax \equiv 1 \pmod b ax1(modb),则 x x x 称为 a   m o d   b a \bmod b amodb 的逆元,记作 a − 1 a^{-1} a1。所以求逆元实际上就是求如下方程的解:
a x ≡ 1 ( m o d p ) ax \equiv 1 \pmod p ax1(modp)

费马小定理求逆元

费马小定理

p p p 为素数,且 gcd ⁡ ( a , p ) = 1 \gcd(a, p) = 1 gcd(a,p)=1,即 a , p a, p a,p 互质,那么 a p − 1 ≡ 1 ( m o d p ) a^{p-1} \equiv 1 \pmod p ap11(modp)


如何用于求逆元

p p p 是质数时,

∵ a p − 1 ≡ 1 ( m o d p ) \because a^{p-1} \equiv 1 \pmod p ap11(modp)

∴ a ⋅ a p − 2 ≡ 1 ( m o d p ) \therefore a \cdot a^{p-2} \equiv 1 \pmod p aap21(modp)

∴ x = a p − 2   m o d   p \therefore x = a^{p-2} \bmod p x=ap2modp

用个快速幂就结束了。

注意限制条件: p p p 必须是质数。

但是大多数情况下OI题目中的模数都是质数,所以这一方法很常用。

时间复杂度 O ( log ⁡ p ) O(\log p) O(logp)

欧拉定理求逆元

例题:NOIP提高组2012 同余方程

欧拉函数

欧拉函数 φ ( x ) \varphi(x) φ(x) 的定义:小于等于 x x x 的数中与 x x x 互质的数的个数。

如何求欧拉函数:
φ ( x ) = ( ∏ i = 1 k p i − 1 p i ) x \varphi(x) = (\prod_{i=1}^k \dfrac{p_i-1}{p_i}) x φ(x)=(i=1kpipi1)x

其中 k k k x x x 中的质因子个数, p i p_i pi x x x 的一个质因子。注意,这里忽略质因数分解中的次数,如
20 = 2 2 × 5 20 = 2^2 \times 5 20=22×

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值