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

本文介绍了求解逆元的几种方法,包括费马小定理、欧拉定理、扩展欧几里得算法以及线性求法。详细讲解了各种方法的适用场景和实现过程,并提供了C++代码示例。通过这些方法,可以在大数值下进行高效取模操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相信取模大家已经不怎么陌生,在值很大的题目里经常要我们对答案进行取模,只需熟练运用以下一些公式即可轻松搞定这种题目:
(a+b) mod c=a mod c+b mod c(a×b) mod c=a mod c×b mod c(a−b) mod c=(a mod c−b mod c+c) mod 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,pa,pa,p,若存在整数xxx使得ax≡1(modp)ax \equiv 1 \pmod pax1(modp),那么称xxxaaa在模ppp意义下的乘法逆元,记作a−1a^{-1}a1
(a,p)≠1(a, p) \neq 1(a,p)=1,则xxx不存在。

  • 求出来的xxx可以保证对于任意的整数k,ka≡kx(modp)k, \frac{k}{a} \equiv kx \pmod pk,akkx(modp),也就是ka≡k⋅1a(modp)\frac{k}{a} \equiv k \cdot \frac{1}{a} \pmod pakka1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值