求模的逆元
来源:互联网 发布:av淘宝备用网址 编辑:程序博客网 时间:2024/04/28 01:23
欧拉函数Φ(n)
一些定理:
•欧拉定理
–a和n都是正整数,且a和n互素,则aΦ(n) ≡ 1 (mod n)
•ab (mod n) = a(b % Φ(n) + Φ(n)) (mod n)
•ab (mod n) = a(b % Φ(n))(mod n),gcd(a,n)=1
•费马小定理(欧拉定理弱化形式)
–设a是正整数,p是素数,且a和p互素,则pow(a,p-1) ≡ 1 (mod p)(因为Φ(p)=p-1)
逆元•若a*b=1(modm)则称作b是a在模m下的逆元。记作a^-1=b(mod m)
•显然只有(a,m)=1时存在逆元。
•性质: a^-1=b(mod m)时
•b^-1=a(mod m)
•a*b=1(mod m)
•a^-1=b+km(mod m)
•m/a=m*b(mod m)
求逆元
求逆元
•1.a*x+b*y=1;解方程得x为a在mod b下的逆元。(要求gcd(a,b)=1)(exgcd方法)
•2.a^(Φ(m) -1)=b;注意gcd(a,m)=1;特别地,当p为素数时,a^(p-2)=b;
(快速幂)
#include <cstdio>#include <cstring>using namespace std;int x,y,d,a,b;//a*x + b*y=GCD(a,b)//d为答案void exgcd(int a, int b, int &d, int &x, int &y){ if(!b){d=a;x=1;y=0;} else {exgcd(b, a%b, d, y, x); y-=x*(a/b);}}int main(){ scanf("%d%d",&a,&b); exgcd(a,b,d,x,y); printf("x=%d y=%d d=%d\n",x,y,d); return 0;}
•2.a^(Φ(m) -1)=b;注意gcd(a,m)=1;特别地,当p为素数时,a^(p-2)=b;
(快速幂)
LL po(LL k){ LL ret=1; LL m=MOD-2; while(m) { if(m&1LL)ret=ret*k%MOD; k=k*k%MOD; m>>=1LL; } return ret;}
- 求模的逆元
- 求模的逆元
- 求模m的逆元
- 求模乘法的逆元
- 求i模p的逆元
- 求两个整数模的逆元
- 求模乘法逆元
- 求模乘法逆元
- 求模N下的乘法逆元
- 【辗转相除法求模的逆元 + 欧几里德算法】
- 模意义下求乘法逆元的各种姿势
- 线性求所有逆元的方法
- 求乘法逆元
- 求乘法逆元
- 求乘法逆元
- 求乘法逆元
- 求乘法逆元
- c实现的求两个数的乘法逆元
- USB的基本问题
- 如何修改远程桌面连接端口3389-65531
- linux笔记(gcc及gdb调试)
- Android 内存分析工具DDMS和MAT
- 网站开发
- 求模的逆元
- tcp 拥塞1
- HDU4018:Parsing URL
- Objective-C KVO 编程 的理解
- 有关vs2010 release版本调试this指针问题
- ubuntu 12安sun-java6-jdk
- ZZ买衣服,map使用。
- 电脑操作快捷键
- 负载均衡