Skip to content

初等数论(exgcd & 中国剩余定理 & 卢卡斯定理) ​

〇、整除 ​

定义 b∣a⇔amodb=0。

  1. 求证:c∣a 且 c∣b⇒c∣(a+b),c∣ab。

证明:设 a=k1c,b=k2c,∴a+b=c(k1+k2),ab=c2k1k2。

一、辗转相除法 ​

  1. 求证:gcd(a,b)=gcd(b,amodb)。

证明:设 amodb=c,即 a=kb+c。

∴c=a−kb。

设 d∣a,d∣b。

∴d∣kb,∴d∣c。

∴a,b 的公因数,均为 amodb 的因数,即均为 b,amodb 的公因数。

设 d′∣b,d′∣c。

∴d′∣kb,∴d′∣a。

∴b,amodb 的公因数,均为 a 的因数,即均为 a,b 的公因数。

∴gcd(a,b)=gcd(b,amodb)。

二、裴蜀定理 ​

  1. 求证:ax+by=gcd(a,b) 有整数解。

证明:https://oi-wiki.org/math/number-theory/bezouts/。

三、exgcd ​

  1. 求 ax+by=gcd(a,b) 的一组整数解。

解:设已知 bx′+(amodb)y′=gcd(b,amodb) 的一组整数解 x′,y′。

∵gcd(a,b)=gcd(b,amodb),

∴ax+by=bx′+(amodb)×y′。

∴ax+by=bx′+(a−⌊ab⌋×b)×y′。

∴ax+by=ay′+b(x′−⌊ab⌋×y′)。

  1. 若 a,b 互质,求 a 在模 b 意义下的逆元 x,即求 ax≡1(modb) 的一个解。

解:原方程等价于 ax+by=1,其中 y<0。

而 gcd(a,b)=1,所以 exgcd 可求。

  1. 求证:ax+by=c 有整数解 ⇔gcd(a,b)∣c。

证明:

①充分性:设 d=gcd(a,b),则 a=k1d,b=k2d。

∴c=ax+by=d(k1x+k2y)。

∴d∣c。

②必要性:∵ 由裴蜀定理,ax+by=d 有整数解。

∴a×cxd+b×cyd=c。

∵d∣c,∴cxd,cyd 是整数。

  1. 若 ax+by=c 有解:

(1)求其的一组特解 x′,y′。

解:由 exgcd 易求 ax+by=gcd(a,b) 的一组解 x0,y0。

∵ax+by=c 有解,∴gcd(a,b)∣c。

∴a×cx0gcd(a,b)+b×cy0gcd(a,b)=c

∴ 解得 {x′=cx0gcd(a,b)y′=cy0gcd(a,b)。

(2)求其的通解公式。

解:设 a(x+m)+b(y+n)=c,化简得 am+bn=0。

设 d=gcd(a,b)。易得 {m=k×bdn=−k×ad。

(3)找出解的个数,判断是否有解满足 x>0,y>0。

解:即 x′+m>0,y′+n>0。

化简得 ⌈−dx′+1b⌉≤k≤⌊dy′−1a⌋

解的个数即为 k 的个数。

若 k 存在,则有解满足上述条件。

(4)分别给出 x 和 y 最小的正整数值。

解:由一次函数,x 随着 k 增大而增大,y 随着 k 增大而减小。

四、中国剩余定理 ​

求解以下方程组:

x≡ai(modbi)

有如下方法:

  1. 令 mod=∏bi,令 mi=mod÷bi。

  2. 求模 bi 意义下的 mi−1,记作 mi′。

  3. 答案为 (∑aimimi′)modmod。

求证:以上方法的正确性。

证明:若 i≠j,则由构造方式,有 bi∣mj,即 mj=0(modbi)。

∴ajmjmj′=0(modbi)。

若 i=j,则 mimi−1=1(modbi)。

综上,x≡∑ajmjmj′≡ai+∑i≠jajmjmj′≡ai(modbi)。

五、卢卡斯定理 ​

Cnm≡C⌊n÷p⌋⌊m÷p⌋×Cnmodpmmodp(modp)

适用于 n,m 较大,p 较小的情况。

注意预处理阶乘数组只能处理到 <p 的地方,不然将会导致答案全是 0。

最近更新