乘法逆元的解法及证明

扩展欧几里得算法 & 欧拉定理 求乘法逆元(无代码,仅示例计算方法) 目录 1 模m可逆元定义 2 扩展欧几里得算法求逆元 3 欧拉定理求逆元 1 模m可逆元定义 设m是一个正整数,a是一个整数。如果存在整数 a' 使得 成立,则 a 叫做 模 m 可逆元. 存在条件:a、m 互素 在模 m 的意义下,a' 是惟一存在的。这时 a' 叫做 a 的 模 m 逆元,记作 2 扩展欧几里得算法求逆元 由于 ,则满足方程的 x即为 a 模 b的逆元(同时 y 为 b 模 a 的逆元)。那么只需要使用扩展欧几里得求解,时间复杂度 ... 阅读详情

写在前面

刷题过程中,为了避免高精度的整数运算,常常会要求答案对某个数取模。但这衍生了一个新问题,如果运算过程中涉及了除法,如ab\frac{a}{b}ba​,如果先对a和b取模再做除法,会导致答案错误。比如:
205 mod 10=4\frac{20}{5}\ mod\ 10 = 4520​ mod 10=4
但是,
20 mod 105 mod 10=0\frac{20\ mod\ 10}{5\ mod\ 10} = 05 mod 1020 mod 10​=0

为了解决这个问题,我们需要学习新知识:模运算下的乘法逆元。

乘法逆元

什么是逆元呢?百度百科告诉我们:逆元是指一个可以取消另一给定元素运算的元素。

比如,在实数的加法中,任意实数 a 和它的相反数 -a,互为加法逆元。因为对于任意实数 x,加上a之后,再加上-a,仍然等于 x,换言之,-a取消了x和a的加法运算。

再比如,在实数的乘法中,任意不为0的实数b和它的倒数1b\frac{1}{b}b1​,互为乘法逆元。因为对于任意实数x,乘上b之后,在乘上1b\frac{1}{b}b1​,仍然等于x,换言之,1b\frac{1}{b}b1​取消了x 和 b 的乘法运算。

接下来看看模运算下的乘法逆元定义:如果两个整数a 和 b 满足 (a∗b−1) mod p=0(a*b-1)\ mod\ p = 0(a∗b−1) mod p=0,即 a∗b≡1(mod p)a*b≡1(mod\ p)a∗b≡1(mod p),则称,a 和 b 互为模 p 的乘法逆元。

换言之,如果整数a, b, p 满足a∗b≡1(mod p)a*b≡1(mod\ p)a∗b≡1(mod p),那么 b 可以取消 a 和任意整数x在模p时的乘法,即 a 和 b 互为模 p 的乘法逆元。即 x∗a∗b≡x(mod p)x*a*b≡x (mod\ p)x∗a∗b≡x(mod p),证明过程如下:

x mod p=x(a∗b−1)+x mod p=(x∗a∗b−x)+x mod p=x∗a∗b mod p \begin{aligned} x\ mod\ p &= x(a*b-1)+x \ mod\ p \\ &= (x*a*b-x)+x \ mod \ p \\ &= x*a*b \ mod \ p \end{aligned} x mod p​=x(a∗b−1)+x mod p=(x∗a∗b−x)+x mod p=x∗a∗b mod p​

举个实际的例子:比如 10 和 12 互为模7时的乘法逆元。然后再找个整数,比如 18,此时有:

18 mod 7=4 18\ mod\ 7 = 4 \\ 18 mod 7=4

另有,

18∗10∗12 mod 7=2160 mod 7=4 \begin{aligned} 18 * 10 * 12\ mod\ 7 &= 2160\ mod\ 7 \\ &= 4 \end{aligned} 18∗10∗12 mod 7​=2160 mod 7=4​

何时存在乘法逆元

结论

先说结论:a 与 p 互质 是 存在a关于模p的乘法逆元b 的充分必要条件。

存在逆元 → 互质

证明 a 与 p 互质 是 存在乘法逆元b 的必要条件。不妨先假设 a 与 b 互为模p时的乘法逆元,且a与p的最大公约数为d,则有:

(a∗b−1) mod p=0(a*b-1)\ mod\ p = 0(a∗b−1) mod p=0

显然,a*b-1 为 p 的 n 倍,n 为整数,则上式转化为:

(a∗b−1)=np(a*b-1)=np(a∗b−1)=np

将等式中的a与p用d代替,则等式转化为:

(x∗d∗b−1)=n∗y∗d(x∗d∗b−n∗y∗d)=1(x∗b−n∗y)∗d=1x∗b−n∗y=1d \begin{aligned} (x*d*b-1)&=n*y*d \\ (x*d*b - n*y*d) &= 1 \\ (x*b - n*y)*d &= 1 \\ x*b - n*y &= \frac{1}{d} \\ \end{aligned} (x∗d∗b−1)(x∗d∗b−n∗y∗d)(x∗b−n∗y)∗dx∗b−n∗y​=n∗y∗d=1=1=d1​​

显然,x*b-n*y是一个整数,所以仅当d为1时,即a与p互质时,上述等式才可能成立。

互质 → 存在逆元

证明 a 与 p 互质 是 存在乘法逆元b 的充分条件。

在证明之前先来回忆一下辗转相除法:
gcd(a,p)=gcd(p,a mod p) \begin{aligned} gcd(a,p) &= gcd(p, a\ mod\ p) \\ \end{aligned} gcd(a,p)​=gcd(p,a mod p)​

不妨用r来表示模运算的结果:
gcd(a,p)=gcd(p,r1)=gcd(r1,r2)=...=gcd(rm−1,rm)=1  //因为a与p互质 \begin{aligned} gcd(a,p) &= gcd(p, r_1) \\ &= gcd(r_1,r_2) \\ &= ... \\ &= gcd(r_{m-1}, r_m) \\ &= 1\ \ //因为a与p互质 \end{aligned} gcd(a,p)​=gcd(p,r1​)=gcd(r1​,r2​)=...=gcd(rm−1​,rm​)=1  //因为a与p互质​

将上式用除法表示,则有:
a=n1p+r1p=n2r1+r2r1=n3r2+r3...=...rm−3=nm−1rm−2+rm−1rm−2=nmrm−1rm−1=1rm=0 \begin{aligned} a &= n_1p + r_1\\ p &= n_2r_1 + r_2 \\ r_1 & = n_3r_2 + r_3 \\ ... &= ... \\ r_{m-3} &= n_{m-1}r_{m-2} + r_{m-1} \\ r_{m-2} &= n_{m}r_{m-1} \\ r_{m-1} &= 1\\ r_{m} &= 0 \\ \end{aligned} apr1​...rm−3​rm−2​rm−1​rm​​=n1​p+r1​=n2​r1​+r2​=n3​r2​+r3​=...=nm−1​rm−2​+rm−1​=nm​rm−1​=1=0​

由上述的m+2个等式移项可得:
r1=a−n1pr2=p−n2r1...=...ri=ri−2−ni∗ri−1rm−1=rm−3−nm−1rm−2特别的,1=rm−1 \begin{aligned} r_1 &= a - n_1p \\ r_2 &= p - n_2r_1 \\ ... &= ... \\ r_{i} &= r_{i-2} - n_{i}*r_{i-1} \\ r_{m-1} &= r_{m-3} - n_{m-1}r_{m-2} \\ 特别的,1 &= r_{m-1} \\ \end{aligned} r1​r2​...ri​rm−1​特别的,1​=a−n1​p=p−n2​r1​=...=ri−2​−ni​∗ri−1​=rm−3​−nm−1​rm−2​=rm−1​​

将 rm-1,rm-2 … 以及 r1 依次代入
1=rm−11 = r_{m-1}1=rm−1​

可以得到用 a,p 以及 ni表示的等式:
ax+py=1ax+py=1ax+py=1

其中,x 与 y 为 n1,n2,n3 … 的加减乘的运算结果,显然为整数。

得证,当 a 与 p 互质时,存在整数x与y 满足
ax+py=1ax−1=py(ax−1) mod p=0ax≡1 (mod p) \begin{aligned} ax+py &= 1 \\ ax-1 &= py \\ (ax-1)\ mod\ p &= 0 \\ ax &≡ 1\ (mod\ p) \end{aligned} ax+pyax−1(ax−1) mod pax​=1=py=0≡1 (mod p)​

即,当 a 与 p 互质时,存在整数x 与 a互为模p时的乘法逆元。

如何计算乘法逆元

扩展欧几里得算法

回忆一下欧几里得的递归过程:
gcd(a,b)=gcd(b,a mod b)=gcd(b,a−b⌊ab⌋) \begin{aligned} gcd(a,b) &= gcd(b, a\ mod\ b) \\ &= gcd(b, a - b\lfloor \frac{a}{b} \rfloor) \end{aligned} gcd(a,b)​=gcd(b,a mod b)=gcd(b,a−b⌊ba​⌋)​

当 a 与 b 互质时,有 x,y,x',y' 满足:
{ax+by=1bx′+(a−b⌊ab⌋)y′=1\left\{ \begin{aligned} ax+by=1 \\ bx'+ (a - b\lfloor \frac{a}{b} \rfloor)y' = 1\\ \end{aligned} \right. ⎩⎨⎧​ax+by=1bx′+(a−b⌊ba​⌋)y′=1​

将上式合并移项:
bx′+(a−b⌊ab⌋)y′=ax+bya(x−y′)+b(y−(x′−⌊ab⌋)y′)=0 \begin{aligned} bx'+ (a - b\lfloor \frac{a}{b} \rfloor)y'&=ax+by \\ a(x-y') + b(y-(x'-\lfloor \frac{a}{b} \rfloor)y')&=0 \end{aligned} bx′+(a−b⌊ba​⌋)y′a(x−y′)+b(y−(x′−⌊ba​⌋)y′)​=ax+by=0​

令x,y,x',y' 满足下述关系,则对于任意 a 和 b 上述公式都能成立。
{x=y′y=(x′−⌊ab⌋)y′\left\{ \begin{aligned} x &= y' \\ y &= (x'-\lfloor \frac{a}{b} \rfloor)y' \\ \end{aligned} \right. ⎩⎨⎧​xy​=y′=(x′−⌊ba​⌋)y′​

😯好巧,这就是我们要寻找的x,y和x',y'的计算公式。另外,当 b = 0,即到达欧几里得算法的递归边界时,令 x = 1, y = 0 即可满足ax+by=1(此时的a显然为1)。

于是我们得到了下述代码,最终得到的 x 即为 a 在模 b 时的乘法逆元,当然前提是函数的返回值为1,即 a 与 b 互质。

int exgcd(int a,int b,int &x,int &y)
{
    if(b==0) {
        x=1;y=0;
        return a;
    }
    int r = exgcd(b,a%b,x,y);
    int t = y;
    y = x-(a/b)*y;
    x = t;
    return r;
}

费马小定理 & 快速幂

费马小定理:若 p 为素数,且 gcd(a, p) = 1,则满足
ap−1≡1 (mod p)a∗ap−2≡1 (mod p) \begin{aligned} a^{p-1} ≡ 1\ (mod\ p) \\ a*a^{p-2} ≡ 1\ (mod\ p) \end{aligned} ap−1≡1 (mod p)a∗ap−2≡1 (mod p)​

于是,a 在模 p 时的乘法逆元为ap−2a^{p-2}ap−2,可用快速幂求得。

inline int quick_power(int a, int b, int p) {
  int ans = 1;
  a = (a % p + p) % p;
  for (; b; b >>= 1) {
    if (b & 1) ans = (a * ans) % p;
    a = (a * a) % p;
  }
  return ans;
}
// quick_power(a, p-2, p) 即为 a 的乘法逆元。

值得注意的是,该算法仅在 p 为素数时有效,而扩欧并没有该限制。

线性求1到n中每个数的逆元

现在要求1到n中每个数i在模p时的乘法逆元。

特别的,i = 1时,其乘法逆元i-1为1。

当 i > 1 时,不妨先设:
{k=⌊pi⌋j=p mod i\left\{ \begin{aligned} k &= \lfloor\frac{p}{i}\rfloor \\ j &= p\ mod\ i \\ \end{aligned} \right. ⎩⎨⎧​kj​=⌊ip​⌋=p mod i​
则有:
{p≡0 (mod p)(k∗i+j)≡0 (mod p)(k∗i+j)∗i−1∗j−1≡0 (mod p)k∗j−1+i−1≡0 (mod p)−k∗j−1≡i−1 (mod p)−⌊pi⌋∗(p mod i)−1≡i−1 (mod p)\left\{ \begin{aligned} p &≡ 0\ (mod\ p) \\ (k*i +j) &≡ 0\ (mod\ p) \\ (k*i +j)*i^{-1}*j^{-1} &≡ 0\ (mod\ p) \\ k*j^{-1}+i^{-1} &≡ 0\ (mod\ p) \\ -k*j^{-1} &≡i^{-1}\ (mod\ p) \\ -\lfloor\frac{p}{i}\rfloor *(p\ mod\ i)^{-1} &≡i^{-1} \ (mod\ p) \\ \end{aligned} \right. ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧​p(k∗i+j)(k∗i+j)∗i−1∗j−1k∗j−1+i−1−k∗j−1−⌊ip​⌋∗(p mod i)−1​≡0 (mod p)≡0 (mod p)≡0 (mod p)≡0 (mod p)≡i−1 (mod p)≡i−1 (mod p)​

而且,在递推过程中,当我们要求i−1i^{-1}i−1时,对于任意的(p mod i)−1(p\ mod\ i)^{-1}(p mod i)−1都是已知的啦(因为 p mod i肯定小于 i),所以可根据(p mod i)−1(p\ mod\ i)^{-1}(p mod i)−1 通过常数次运算得到i−1i^{-1}i−1。
i−1≡{1,i=1−⌊pi⌋(p mod i)−1,i>2 (mod p)i^{-1}≡\left\{ \begin{aligned} 1&, i = 1 \\ -\lfloor\frac{p}{i}\rfloor(p\ mod\ i)^{-1}&, i > 2 \\ \end{aligned} \right. \ (mod\ p) i−1≡⎩⎨⎧​1−⌊ip​⌋(p mod i)−1​,i=1,i>2​ (mod p)

inv[1] = 1;
for (int i = 2; i <= n; ++i) {
  inv[i] = (p-p/i)*inv[p%i]%p;
}

求任意n个整数的乘法逆元

设有 n 个整数,分别为 a1,a2,a3…,对应的逆元为a1-1,a2-1,a3-1…。

设Si 为 a1 到 ai i 个数的乘积,Si-1 为 a1-1 到 ai-1 i 个数的乘积。那么 Si 与 Si-1 互为逆元。证明过程如下:

∏i=1nai∗ai−1≡1 mod p∏i=1nai∗∏i=1nai−1≡1 mod pSn∗Sn−1≡1 mod p \begin{aligned} \prod_{i = 1}^{n}{a_i*{a_i}^{-1}} &≡ 1\ mod\ p \\ \prod_{i = 1}^{n}a_i*\prod_{i = 1}^{n}{a_i}^{-1} &≡ 1\ mod\ p \\ S_n*{S_n}^{-1} &≡ 1\ mod\ p \\ \end{aligned} i=1∏n​ai​∗ai​−1i=1∏n​ai​∗i=1∏n​ai​−1Sn​∗Sn​−1​≡1 mod p≡1 mod p≡1 mod p​

接下来,我们可以先求出 S1 到 Sn,然后通过扩展欧几里得或者快速幂求出 Sn 的乘法逆元 Sn-1。

又有
Si−1∗ai+1−1∗ai+1≡Si−1 (mod p)Si+1−1∗ai+1≡Si−1 (mod p) \begin{aligned} {S_i}^{-1}*{a_{i+1}}^{-1}*a_{i+1} &≡ {S_i}^{-1}\ (mod\ p) \\ {S_{i+1}}^{-1}*a_{i+1} &≡ {S_i}^{-1}\ (mod\ p) \end{aligned} Si​−1∗ai+1​−1∗ai+1​Si+1​−1∗ai+1​​≡Si​−1 (mod p)≡Si​−1 (mod p)​

换言之,我们可以利用 ai可以取消ai-1乘法运算的性质,由Si-1 计算出 Si-1-1。

这样就可以O(n)的计算出所有的 Si-1。

最后,由Si-1以及Si 计算出所有的 ai-1:
ai−1≡Si−1∗Si−1 (mod p) {a_i}^{-1} ≡ S_{i-1}*{S_{i}}^{-1}\ (mod\ p) ai​−1≡Si−1​∗Si​−1 (mod p)

s[0] = 1;
for (int i = 1; i <= n; ++i) s[i] = s[i - 1] * a[i] % p;
sv[n] = quick_power(s[n], p - 2);
for (int i = n; i >= 1; --i) sv[i - 1] = sv[i] * a[i] % p;
for (int i = 1; i <= n; ++i) inv[i] = sv[i] * s[i - 1] % p;
浅谈乘法逆元的三种解法 这里以一道求乘法逆元的模板题(【洛谷3811】【模板】乘法逆元)为例,来讲一讲求一个数乘法逆元的三种经典解法。 解法一:快速幂 证明:费马小定理。由费马小定理ap−1≡1(modap−1≡1(moda^{p-1}≡1(mod p)p)p)可得,a∗ap−2≡1(moda∗ap−2≡1(moda*a^{p-2}≡1(mod p)p)p),显然,我们可以发现ap−2ap−2a^{p-2}就是a... 阅读详情

相关推荐

逆元的概念及求解方法

逆元 逆元概念 引入逆元 数论中的 (a / b)% p 运算很不方便,而且对p同余不满足同除性,因此引入逆元将整除运算转换为整数乘法运算,会更有助于计算。 定义 若 a * x ≡ 1 (mod) b, a, b 互质,则称 x 为 a 的逆元,标记为 a -1。 逆元也可认为是数论意义上的倒数。 a 模 b 意义上的逆元不唯一,一般方便计算,取(0,b - 1]范围的逆元。 用法 逆元可以用来计算(t / a)mod b 时,转化为 t * a-1 mod b 两表达式同余证明: (t / a

weixin_40895249的博客 7979

求解乘法逆元的简单方法总结

质数的定义:只有两个正因数(1和自己)的自然数即为质数。比1大但不是素数的数称为合数。1和0既非素数也非合数。素数在数论中有着很重要的作用。 如从1至72有20个素数:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71。 乘法逆元,是指数学领域群G中任意一个元素a,都在G中有唯一的逆元a‘,具有性质a×a'=a'×a=e,其中e为该群的单位元。 定义:如果 ab≡1(mod m),则称 b 是 a 的模 m 逆,记作 a 的模 m 逆是..

你好,明天,,的博客 4467

《信息安全数学基础》 张金全 课后习题答案

成都信息工程大学的信安数学基础不值得课后题的答案及详细过程

逆元的求法

#什么是逆元 a #逆元的作用是什么 #怎么求逆元 1.扩展欧几里得 2.费马小定理 3.线性筛选 4.阶乘逆元的线性筛选

fuzekun的博客 877

BPMN-JS :修改节点“Change Type”事件类型

修改路径:node_modules\bpmn-js\lib\features\replace\ReplaceOptions.js。

TaylorY的博客 679

手把手教你用内核远程call实现64位进程注入(附完整ShellCode示例)

本文深入探讨了在Windows 64位环境下,通过内核态直接操作线程TrapFrame结构实现进程注入的高级技术。文章提供了从驱动框架设计、用户态-内核态通信,到定位修改TrapFrame、编写Shellcode及执行环境恢复的完整实战指南,并附有详细的代码示例,为安全研究人员和开发者提供了绕过用户态检测、实现底层远程代码执行的新思路。

weixin_28396629的博客 345

c语言中欧几里得模乘法逆元,扩展欧几里得算法&同余方程&模m乘法逆元详解

欧几里德算法:复习:求最大公约数算法(欧几里得算法、也叫辗转相除法)。欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。第一种证明:a可以表示成a = kb + r,则r = a mod b假设d是a,b的一个公约数,则有d|a, d|b,而r = a...

weixin_33636371的博客 950

FoundationPose 4090部署 真实场景迁移

复现并应用foundationpose

m0_52835296的博客 613

基础数论经验总结

此处 nnn 的范围是 [1,1018][1, 10^{18}][1,1018],直接枚举求解肯定不行。 考虑任意一个大于 111 的数 nnn 数可以被质因数分解为: n=∏i=1kpiai,其中 pi 为 n 的一个质因数. n = \prod_{i = 1}^{k} p_i^{a_i}, 其中 \ p_i \ 为 \ n \ 的一个质因数. n=i=1∏k​piai​​,其中 pi​ 为 n 的一个质因数. 所以它的约数个数就是 ∏i=1k(ai+1)\prod_{i = 1}^{k} (a_i +

m0_72761451的博客 849

超详细neo4j安装教程

一、neo4j简介 最近开始学习知识图谱,所以首先想先学习一下neo4j的使用。 Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。由于知识图谱中存在大量的关系型信息(实体—关系—实体), 使用结构化数据库进行存储将产生大量的冗余存储信息, 因此将图数据库作为知识图谱的存储容器成为流行的选择。当前较为常用的图数据库主要有 Neo4j 等。 二、neo4j的安装 功能快捷键 撤销:Ctrl/Command + Z 重做:Ctrl/Command + Y 加粗:Ctrl/Co

qq_38335648的博客 9万+

powerdesigner导出sql将name放到comment注释上

【代码】powerdesigner导出sql将name放到comment注释上。

weixin_45947759的博客 1352

数论初步

一、基本符号 b|a :  b能整除a,即 a = b*q a≡b(mod m):m为一正整数,a和b模m同余,即a-b能被m整除,或者可以整除m(因为相同的余数被剪掉后,自然余数都为0) gcd(a,b):a和b的最大公约数 二、基本性质及证明 1、乘法逆元      定义:满足a*k≡1 (mod p)的k值就是a关于p的乘法逆元      应用:当我们要求(a/b)

相濡以沫的专栏 703

Honeywell EPKS 核心功能块组态与执行调度实战解析

本文深入解析Honeywell EPKS系统的核心功能块组态与执行调度技术,涵盖控制模块(CM)、顺序控制模块(SCM)和输入输出模块(IOM)的配置方法。通过实战案例分享执行顺序(ORDERINCM)和CEE执行周期的优化策略,帮助工程师提升工业自动化系统的控制精度和运行效率。

weixin_28724319的博客 414

应用密码学习题解析:从基础概念到实战技巧

密码学作为信息安全的核心学科,其基础概念的理解直接影响后续加密算法与协议的学习效果。对称加密与非对称加密的差异、Kerckhoffs原则的应用以及各类密码分析攻击模型,构成了密码学知识体系的基石。通过系统化的习题训练,学习者不仅能掌握加密算法的分类与特性(如AES和RSA的对比),还能深入理解保密性、完整性和认证等安全目标的工程实现。现代密码系统设计往往需要综合应用这些基础概念,例如在TLS协议中结合对称与非对称加密优势。习题解析应注重概念关联与实战映射,推荐结合Cryptopals等实战平台强化理解。

weixin_29315091的博客 100

PyTorch实战(20)——生成对抗网络(Generative Adversarial Network,GAN)

自生成对抗网络 (Generative Adversarial Network, GAN) 提出以来,一直是一个活跃的研究和开发领域。本节探索了 GAN 的基本概念,重点解析了其两大核心组件——生成器与判别器的架构设计,深入阐述了 GAN 模型的整体工作机制,并使用 PyTorch 从零开始实现了深度卷积生成对抗网络 (Deep Convolutional GAN, DCGAN)。

盼小辉丶的博客 3534

(一)激光线扫描-三维成像原理

激光线扫描是一种使用激光作为光源,通过特定的扫描设备(如光学镜头、电机驱动的镜头或电子扫描设备)将激光束引导到目标表面,并按照预定的路径进行扫描的技术。这种技术通常用于测量、检测、打印、切割等多种应用中。

FlyWine的博客 3629

近世代数概论------有理数与域

近世代数概论------有理数与域

博客 2318

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

乘法逆元【解法大全】

目录定义模板题法一法二法三应用 定义 若a∗x≡1(mod  p)a*x≡1 (mod\;p)a∗x≡1(modp),且 aaa 与 ppp 互质,那么我们就能定义: xxx 为 aaa 的逆元,记为 a−1a^{-1}a−1,所以我们也可以称 xxx 为 aaa 的倒数( modmodmod ppp 意义下)。 所以对于 ab   mod  p\frac{a}{b}\ \; mod\;pba​ modp ,我们就可以求出 b 在 mod  pmod\; pmodp意义下的逆元,然后乘上

在人间贩卖声音 1566

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

【乘法逆元】

讲解乘法逆元用,配有几道基础题食用

ygmjsjdboy的博客 1139

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

乘法逆元

关于乘法逆元的数学知识: 乘法逆元,是指数学领域群G中任意一个元素a,都在G中有唯一的逆元a‘,具有性质a×a'=a'×a=e,其中e为该群的单位元。 例如:4关于1模7的乘法逆元为多少? 4X≡1 mod 7 这个方程等价于求一个X和K,满足 4X=7K+1 其中X和K都是整数。 若ax≡1 mod f, 则称a关于模f的乘法逆元为x。也可表示为ax≡1

别止的博客 636

关于乘法逆元

定义     逆元,又称数论倒数,如果a*x≡1 (mod p),且gcd(a,p)=1(a与p互质),则称a关于模p的乘法逆元为x。(来自维基百科)     怎么说呢,逆元其实就是一个相当于倒数的东西,只不过是多模了一个p而已。要说它有什么用,那么请回忆一下倒数有什么用吧。没错,在上小学时,老师就教  导过我们,除以一个数,就是乘它的倒数。其实,逆元也是充当这个“倒...

banzuke3318的博客 255

java求乘法逆元的代码_求乘法逆元的几种方法

(数学渣,下面的文字可能有误,欢迎指教)乘法逆元的定义貌似是基于群给出的,比较简单地理解,可以说是倒数的概念的推广。记a的关于模p的逆元为a^-1,则a^-1满足aa^-1≡ 1(mod p)加减乘与模运算的顺序交换不会影响结果,但是除法不行。有的题目要求结果mod一个大质数,如果原本的结果中有除法,比如除以a,那就可以乘以a的逆元替代。在mod p的运算中,a存在乘法逆元当且仅当a与p互质。一般...

weixin_31559919的博客 975

逆元

什么是逆元? 每个数a均有唯一的与之对应的乘法逆元x,使得ax≡1(mod n) , 一个数有逆元的充分必要条件是gcd(a,n)=1,此时逆元唯一存在 。逆元的含义:模n意义下,1个数a如果有逆元x,那么除以a相当于乘以x。 逆元的定义:定义:正整数 a, n,如果有 ax ≡ 1(mod n),则称 x 的最小正整数解为 a 模 n的逆元。 为什么要有乘法逆元呢? 当我们要求(a/b)...

. 1万+

乘法逆元的扩展欧几里得解法

【序言】正好今天BZOJ崩了(反正我上不去),我总算可以静下心来研究一些东西。乘法逆元已经不陌生了,但是平常不怎么用到(skydec整天做神题肯定很熟练了,ORZ),因此是该好好复习一下。 万一我以后忘记了,可以来看看= =。 【传送门】参考了几位大神的资料,本蒟蒻表示不胜感激 http://chhaj5236.blog.163.com/blog/static/112881081200942

阿蒋的专栏 3829
上一篇: 浅谈辗转相除法
下一篇: 楼教主男人八题(第二题)
Time_Limit
博客等级 码龄7年 264粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值