乘法逆元(扩展欧几里得或费马小定理)
来源:互联网 发布:吉林大学网络教学平台 编辑:程序博客网 时间:2024/06/02 06:00
乘法逆元
方法一:扩展欧几里得
lint ex_gcd(lint a,lint b,lint &x,lint &y)//扩展欧几里得(扩展gcd){if (a==0&&b==0) return -1;if (b==0){x=1;y=0;return a;}lint d=ex_gcd(b,a%b,y,x);y-=a/b*x;return d;}lint mod_inverse(lint a,lint n)//乘法逆元{lint x,y;lint d = ex_gcd(a,n,x,y);return (x%n+n)%n;}
方法二:费马小定理,快速幂
根据费马小定理:
已知p是质数且gcd(a, p) = 1,则 ap-1 ≡ 1 (mod p), 所以 a*ap-2 ≡ 1 (mod p)。
a^(p-2)就是a的逆元了
int find(int x) { int k=mod-2,ans=1; while(k) { if (k&1) ans=(lint)ans*x%mod; x=(lint)x*x%mod; k>>=1; } return ans; } x在%mod下的逆元
0 0
- 乘法逆元 (扩展欧几里得或费马小定理)
- 乘法逆元 (扩展欧几里得或费马小定理)
- 乘法逆元(扩展欧几里得或费马小定理)
- 乘法逆元(扩展欧几里得或费马小定理)
- 扩展欧几里得(乘法逆元)
- 逆元的几种求法(扩展欧几里得,费马小定理或欧拉定理,特例,打表等)
- 乘法逆元(扩展欧几里得)
- Strange Way to Express Integers(扩展欧几里得+乘法逆元+中国剩余定理求解非互质的模线性方程组)
- 关于逆元(证明扩展欧几里得定理)
- 51nod--1256 乘法逆元 (扩展欧几里得)
- 51nod 125乘法逆元 (扩展欧几里得)
- hdu 1576 A/B(乘法逆元,扩展欧几里得)
- 【51Nod】1256 - 乘法逆元(扩展欧几里得)
- 51nod 1256 乘法逆元(扩展欧几里得算法)
- 51NOD 1256 乘法逆元(扩展欧几里得原理)
- 51nod 1256 乘法逆元 (扩展欧几里得求逆元)
- 51nod 乘法逆元(扩展欧几里得)
- csu1163扩展欧几里得之乘法逆元
- Python数据处理相关小例编程
- Box2d源码学习<十>形状(下):圆形和多边形的实现
- OSG学习笔记11 物体控制—对点选物体进行平移、缩放、旋转
- 15.10.4 捕获异常
- hdoj-5688-Problem D
- 乘法逆元(扩展欧几里得或费马小定理)
- 1005. 继续(3n+1)猜想 (25)
- WScript.Shell对象的这两个方法Run和Exec的区别
- java之StringTokenizer
- Box2d源码学习<十一>GJK之距离的实现
- linux中find指令详解
- 字符串的修改(计算字符串的相似度)
- excel导入导出
- Syntax error, parameterized types are only available if source level is 1.5 解决方案