欧拉函数,逆元,扩展欧几里得,中国剩余定理....OI中的数论知识

欧拉函数

Ψ(n) 表示不小于n的自然数中,与n互质的数的个数

若一个整数N可以表示为:
N = p 1 α 1 p 2 α 2 . . . p n α n N=p_{1}^{α_{1}}p_{2}^{α_{2}}...p_{n}^{α_{n}} N=p1α1p2α2...pnαn
则有欧拉函数;
Ψ ( n ) = N ( 1 − 1 p 1 ) ( 1 − 1 p 2 ) . . . ( 1 − 1 p n ) Ψ(n) =N(1- \frac{1}{p_{1}})(1- \frac{1}{p_{2}})...(1- \frac{1}{p_{n}}) Ψ(n)=N(1p11)(1p21)...(1pn1)
证明方法:
1. 在 1 − N 中 的 所 有 数 , 筛 去 p 1 , p 2... P m 的 所 有 倍 数 1.在1-N中的所有数,筛去p1,p2...P_{m}的所有倍数 1.1Np1,p2...Pm

2. 加 上 所 有 p i ⋅ p j 的 倍 数 , 减 去 所 有 p i ⋅ p j ⋅ p k 的 倍 数 . . . 2.加上所有p_{i}\cdot p_{j}的倍数,减去所有p_{i}\cdot p_{j} \cdot p_{k}的倍数... 2.pipjpipjpk...

3. 化 简 得 Ψ ( n ) = N ( 1 − 1 p 1 ) ( 1 − 1 p 2 ) . . . ( 1 − 1 p n ) 3.化简得Ψ(n) =N(1- \frac{1}{p_{1}})(1- \frac{1}{p_{2}})...(1- \frac{1}{p_{n}}) 3.Ψ(n)=N(1p11)(1p21)...(1pn1)

欧拉定理

若 a 与 n 互 质 , 则 有   a Ψ ( n ) ≡ 1 ( m o d   n ) 若a与n互质,则有\ a^{Ψ(n)} \equiv 1(mod\ n) an aΨ(n)1(mod n)

证明如下:
由 欧 拉 函 数 得 到 得 Ψ ( n ) 个 数 a 1 a 2 . . . a Ψ ( n ) ≡ 1 ( m o d   n ) 由欧拉函数得到得Ψ(n)个数 a_{1}a_{2}...a_{Ψ(n)}\equiv 1(mod\ n) Ψ(n)a1a2...aΨ(n)1(mod n)

则 a 1 到 a n 皆 有 a ∗ a 1 ≡ 1 ( m o d   n ) . . . a ∗ a Ψ ( n ) ≡ 1 ( m o d   n ) 则a_{1}到a_{n}皆有a*a_{1}\equiv 1(mod\ n)...a*a_{Ψ(n)}\equiv1(mod \ n) a1anaa11(mod n)...aaΨ(n)1(mod n)

以 上 两 式 关 于 n 同 余 , 因 此 消 去 1 a 2 . . . a Ψ ( n ) 得 到 : a Ψ ( n ) ≡ 1 ( m o d   n ) 以上两式关于n同余,因此消去_{1}a_{2}...a_{Ψ(n)}得到:a^{Ψ(n)}\equiv 1(mod \ n) n1a2...aΨ(n)aΨ(n)1(mod n)

由此我们可以由此推导出费马小定理

当 n 为 质 数 的 时 候 , Ψ ( n ) = n − 1 , 因 此 有 a n − 1 ≡ 1 ( m o d   n ) 当n为质数的时候,Ψ(n)=n-1,因此有 a^{n-1} \equiv 1(mod \ n) n,Ψ(n)=n1an11(mod n)

逆元

逆元的定义:
若 整 数 b , m 互 质 . 对 于 整 数 a 若 满 足 a b ≡ a ⋅ x ( m o d   m ) 若整数b,m互质.对于整数a若满足\frac{a}{b}\equiv a\cdot x(mod\ m) b,m.abaax(mod m)
则称x为b mod m的乘法逆元,记作:
a b ≡ a ⋅ b − 1 ( m o d   m ) \frac{a}{b} \equiv a\cdot b^{-1} (mod\ m) baab1(mod m)
因此b的逆元x对于b有如下关系:
b ⋅ x ≡ 1 ( m o d   m ) b\cdot x \equiv 1(mod\ m) bx1(mod m)
由费马小定理,当m为质数的时候,有:
b ⋅ b m − 2 ≡ b m − 1 ≡ 1 ( m o d   m ) b\cdot b^{m-2} \equiv b^{m-1} \equiv 1(mod\ m) bbm2bm11(mod m)

因 此 此 时 , b m − 2 便 是 b 关 于 m 的 一 个 逆 元 因此此时,b^{m-2}便是b关于m的一个逆元 bm2便bm

扩展欧几里得算法

裴蜀定理

对于任意正整数a,b,那么一定存在非零整数x,y使得 ax+by = gcd(a,b)

若ax+by=d,则d为a和b的最大公约数的倍数

证明方法:使用扩展欧几里得进行构造
对 于 求 解 a x + b y = d , 经 过 迭 代 可 以 得 到 b y + ( a   m o d   b ) x = d 对于求解ax+by=d,经过迭代可以得到by+(a \ mod\ b)x=d ax+by=d,by+(a mod b)x=d

整 理 得 到   a x + b ( y − [ a b ] x ) = d 整理得到\ ax+b(y-[\frac{a}{b}]x)=d  ax+b(y[ba]x)=d

因 此 构 造 出 来 的   x = x ,   y = y − [ a b ] 因此构造出来的\ x=x ,\ y=y-[\frac{a}{b}]  x=x, y=y[ba]

代码如下

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

中国剩余定理

m 1 , m 2 . . . m k 两 两 互 质 , 求 解 方 程 组 m_{1},m_{2}...m_{k}两两互质,求解方程组 m1,m2...mk

x ≡ a 1 ( m o d   m ) x\equiv a_{1} (mod\ m) xa1(mod m)

x ≡ a 2 ( m o d   m ) x\equiv a_{2} (mod\ m) xa2(mod m)

. . . ... ...

x ≡ a k ( m o d   m ) x\equiv a_{k} (mod\ m) xak(mod m)

求解过程:
令 M = m 1 m 2 . . . m k 令M=m_{1}m_{2}...m_{k} M=m1m2...mk

M i = M / m i M_{i}=M/m_{i} Mi=M/mi

M i − 1 表 示 M i   m o d m i   的 逆 M_{i}^{-1}表示M_{i}\ mod m_{i} \ 的逆 Mi1Mi modmi 

则通解为:
x = a 1 M 1 M 1 − 1   + . . .   +   a k M k M k − 1 x=a_{1}M_{1}M_{1}^{-1}\ + ...\ +\ a_{k}M_{k}M_{k}^{-1} x=a1M1M11 +... + akMkMk1

因 此 我 们 可 以 使 用 扩 展 欧 几 里 得 求 M i 的 逆 元 , 从 而 求 解 问 题 因此我们可以使用扩展欧几里得求M_{i}的逆元,从而求解问题 使Mi

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值