初等数论(Ⅱ):同余相关

基础知识处理

积性函数

定义域为整数的函数称为数论函数

对于一个数论函数 \(f\) ,

\(\forall a \bot b,f(ab) = f(a)f(b)\) ,则称 \(f\) 为积性函数(\(\bot\)表示互质);

\(\forall a,b \in Z , f(ab)=f(a)f(b)\) , 则称 \(f\) 为完全积性函数。

同余

定义

若整数 \(a\) 和整数 \(b\) 除以正整数 \(m\) 的余数相等,则称 \(a,b\)\(m\) 同余,记为 \(a \equiv b(\text{mod} \ m)\)

同余的定理

(1) \(a\equiv b(\text{mod} \ m) \Leftrightarrow m \mid (a-b)\)

证明:设 \(a = k_1 + r_1,b=k_2+r_2(0\leq r1,r2 <m)\),下文同。

充分性:
\(a-b = (k_1-k_2)m + (r_1-r_2)\)

$\because a \equiv b(\text{mod} \ m) \ $ \(\therefore r_1 = r_2\)

\(\therefore a-b = (k_1-k_2)m \ \therefore m \mid (a-b)\)

必要性:反过来证一次即可。

(2) $a\equiv b(\text{mod} \ m) \Leftrightarrow $ 存在 \(a=b+km(k\in \mathbb{Z})\)

充分性:

\(\because a \equiv b(\text{mod} \ m) \ \therefore r_1=r_2\)

\(\therefore k_1m = (k_2+k)m = k_2m + km\)

\(\therefore k_1m+r_1 = k_2m+r_2 + km\),即 \(a = b+km\)

同余的性质

(1)自反性: \(a \equiv a(\text{mod} \ m)\)

(2)对称性: 若 \(a \equiv b(\text{mod} \ m)\) ,则 \(b \equiv a(\text{mod} \ m)\)

(3)传递性:若 \(a \equiv b(\text{mod} \ m),b \equiv c(\text{mod} \ m)\) , 则 \(a \equiv c(\text{mod} \ m)\)

(4)同加性:若 \(a \equiv b(\text{mod} \ m),c \equiv d(\text{mod} \ m) \Rightarrow a \pm c \equiv b \pm d(\text{mod} \ m)\)

证明:由定理1得:\(m \mid (a-b),m \mid (c-d)\)

再由整除的性质(若\(a \mid b\)\(a \mid c\) ,则 \(\forall x,y\) ,有 \(a \mid xb+yc\)) 得

\(m \mid [(a-b) \pm (c-d)]\)

\(\therefore a \pm c \equiv b \pm d(\text{mod} \ m)\)

(5)同乘性:\(a \equiv b(\text{mod} \ m),c \equiv d(\text{mod} \ m) \Rightarrow ac \equiv bd(\text{mod} \ m)\)

证明:由定理1得:\(m \mid (a-b),m \mid (c-d)\)

\(\because ac - bd = ac - bc + bc - bd = c(a-b) + b(c-d)\)

再由整除的性质得

\(m \mid (ac - bd)\)

\(\therefore ac \equiv bd(\text{mod} \ m)\)

(6)同幂性:\(a \equiv b(\text{mod} \ m) \Rightarrow a^n \equiv b^n(\text{mod} \ m)\)

证明:由同乘性可知,设 \(c=a,d=b\)

\(\therefore ac \equiv bd(\text{mod} \ m)\),即 \(a^2 \equiv b^2(\text{mod} \ m)\),如此反复 \(n\) 次,即可得到 \(a^n \equiv b^n(\text{mod} \ m)\)

(7)若 \(a \equiv b(\text{mod} \ m)\)\(d\)\(a,b,m\) 的公因数,则 \(\frac{a}{d} \equiv \frac{b}{d}(\text{mod} \ \frac{m}{d})\)

证明:

由定理1得, \(m \mid (a-b)\)

由整除的性质:若 \(ma \mid mb (m \ne 0)\) ,则 \(a \mid b\)

\(\frac{m}{d} \mid \frac{(a-b)}{d} = \frac{a}{d} - \frac{b}{d}\)

再由定理1得,\(\frac{a}{d} \equiv \frac{b}{d}(\text{mod} \ \frac{d}{m})\)

(8)若\(a \equiv b(\text{mod} \ m)\) , \(d\)\(a,b\) 的公因数且 \(\gcd(d,m)=1\) ,则 \(\frac{a}{d} \equiv \frac{b}{d}(\text{mod} \ m)\)

由定理1得, \(m \mid (a-b)\)

由整除的性质得

\(m \mid d(\frac{a}{d} - \frac{b}{d})\),又因为 \(\gcd(d,m)=1\)

\(\therefore m \mid \frac{a}{d} - \frac{b}{d}\)

再由定理1得,\(\frac{a}{d} \equiv \frac{b}{d}(\text{mod} \ m)\)

(9)若\(a \equiv b(\text{mod} \ m_i),i=1,2,\dots,k\) , 则 \(a \equiv b(\text{mod} \ \text{lcm}(m_1,m_2,\dots,m_k))\)

由定理1得, \(m_i \mid (a-b)\)

这表示 \(a-b\)\(m_1,\dots,m_k\)的公倍数

\(\therefore \text{lcm}(m_1,m_2,\dots,m_k) \mid a-b\)

再由定理1得,\(a \equiv b(\text{mod} \ \text{lcm}(m_1,m_2,\dots,m_k))\)

(10) 若 \(a \equiv b(\text{mod} \ m) , d\mid m,d>0\) ,则 \(a \equiv b(\text{mod} \ d)\)

证明:由定理1得,\(m \mid (a-b)\)

\(a-b = (k_1-k_2)m\)

\(\ \ \ \ \ \ \ \ \ \ = (k_1-k_2)m_1d\)

\(\ \ \ \ \ \ \ \ \ \ =(k1m_1-k_2m_1)d\)

\(\therefore d \mid (a-b)\)

\(\therefore a \equiv b(\text{mod} \ d)\)

(11) 若 \(ac \equiv bc(\text{mod} \ m)\) , 且 \(d = \gcd(c,m)\) ,则有 \(a \equiv b(\text{mod} \frac{m}{d})\)

证明:由定理1得,\(m \mid (ac-bc) = (a-b) c\) ,存在整数 \(k\) 使得 \((a-b)c = mk\)

\(\therefore \frac{(a-b)c}{d} = \frac{mk}{d}\)

\(\because \gcd(\frac{c}{d},\frac{m}{d}) = 1\)

\(\therefore \frac{m}{d} \mid (a-b)\)

\(\therefore a \equiv b(\text{mod} \frac{m}{d})\)

一、裴蜀定理

定义

一定存在整数 \(x,y\) ,满足 \(ax + by = \gcd(a,b)\)

证明

设取整数 \(x_0,y_0\) , \(ax + by\)的最小正整数为s , 即 \(ax_0+by_0 = s\)

\(\because \gcd(a,b)\mid ax_0 , \gcd(a,b)\mid by_0\)

又由 \(x \mid a , x\mid b ,\)则$ x \mid a+b$ 这个性质得

$\therefore \gcd(a,b) \mid s $ \((1)\)


\(a = qs + r (0 \leq r < s)\)

\(r = a-qs\)

\(\ \ \ = a - q(ax_0+by_0)\)

\(\ \ \ = a(1-qx_0) + b(-qy_0)\)

\(\ \ \ = ax + by\)

(因为\(1-qx_0\)是整数,\(-qy_0\)也是整数,所以就能写成 \(ax+by\))

\(\because s\)是最小的正整数,

\(\therefore r=0\)(只能取\(0\))

$\therefore s \mid a $,同理 \(s \mid b\)

\(\therefore s \mid \gcd(a,b)\) (2)

\((1)(2)\)得, \(s = \gcd(a,b)\) ,证毕。

裴蜀定理推广

一定存在整数 \(x,y\),满足 \(ax+by = \gcd(a,b) \times n , n \in Z\)

裴蜀定理再推广

一定存在整数 \(x_1 \dots x_n\) , 满足 $\Sigma_{i=1}^{n} A_ix_i = \gcd(A_1 ,\dots,A_n) $

小细节

欧几里得求 \(\gcd(a,b)\),如果代入负数,结果会是负数。所以在求解的时候,可以带入负数的绝对值。这样并不会影响解,无非就是符号变化了一下。

二、欧几里得相关

一、欧几里得算法

\(\forall a,b \in N ,b\not= 0 ,\gcd(a,b)=\gcd(b,a\%b)\)

证明:

\(a<b\) , 则 \(\gcd(b,a\% b) = \gcd(b,a)\),显然成立

\(a \geq b\) ,设 \(a = qb + r(0 \leq r < b)\) , 显然 \(r = a \% b\) , 对于 \(a,b\) 的任意公约数 \(d\) , \(d \mid a , d\mid qb\) , 所以\(d \mid (a-qb)\),即\(d \mid r\)。故 \(a,b\) 的公约数集合与 \(b,a\%b\) 的公约数集合相同。于是他们的最大公约数自然也相等。

二、扩展欧几里得算法

引入

\(ax+by = \gcd(a,b)\) 的一组整数解

求解

构造特解

\(b=0\) 时,\(ax+by=a\) , 因此\(x=1,y=0\)

\(b\not= 0\) 时,

\(\gcd(a,b)=ax+by\)

\(\gcd(b,a\%b) = bx_1 + (a\%b)y_1\)

\(\ \ \ \ \ \ \ \ = bx_1 + (a-\lfloor \frac{a}{b} \rfloor \times b)y_1\)

\(\ \ \ \ \ \ \ \ = ay_1+b(x_1-\large \frac{a}{b}y_1)\)

\(\because \gcd(a,b) = \gcd(b,a\%b)\)

\(\therefore x = y_1 , y = x_1 - \frac{a}{b}y_1\)

到这一步,我们就可以递归到最底部,因为最底层时 \(b=0\) ,显然可以构造出 \(x=1,y=0\) 使得 \(a \times 1 + b\times 0 = \gcd(a,0)\) , 然后一步一步往上回来,求出特解 \((x_0,y_0)\)

code

il int exgcd(int a,int b,int &x1,int &y1)
{
   if(!b)
   {
   	x1 = 1 , y1 = 0;
   	return a;
   }
   ans = exgcd(b,a%b,x1,y1);
   int t = x1;
   x1 = y1; y1 = t-a/b*y1;
   return ans;
}

构造通解

\(\because ax+by = ax_0+by_0\)

\(\therefore a(x-x_0)= b(y_0-y)\)

\(\gcd(a,b) = d\)

\(\therefore \frac{a}{d}(x-x_0)= \frac{b}{d}(y_0-y)\)

\(\large \because \frac{a}{d} \nmid \frac{b}{d}\)

\(\therefore \frac{a}{d} \mid y_0-y\)

\(y_0-y = k \large \frac{a}{d}\)

\(\therefore y = y_0 - k \large \frac{a}{d}\)

同理

\(\large \because \frac{b}{d} \nmid \frac{a}{d}\)

\(\therefore \frac{b}{d} \mid x-x_0\)

\(x-x_0 = n \large \frac{b}{d}\)

\(\therefore x = x_0 + n \large \frac{b}{d}\)


\(\therefore ax+by=a(x_0+n\frac{b}{d})+b(y_0-k \frac{a}{d})\)

\(=ax_0+by_0+n\frac{ab}{d}-k\frac{ab}{d}\)

\(\because ax+by=ax_0+by_0\)

\(\therefore n = k\)

所以,通解为

\[ \left\{ \begin{aligned} x & = & x_0+k\frac{b}{\gcd(a,b)} \\ y & = & y_0-k\frac{a}{\gcd(a,b)} \\ \end{aligned} \right. ,k \in \mathbb{Z} \]

证毕

三、欧拉相关

(Ⅰ)、欧拉函数

定义

\(1-n\) 中与 \(n\) 互质的数的个数称为欧拉函数,记为 \(\varphi(n)\)

\(e.g.\) \(\varphi(1) = 1,\varphi(2)=1,\varphi(3)=2\)

欧拉函数的性质

性质1:\(p\) 是质数,则 \(\varphi(p)=p-1\)

性质2: 若 \(p\) 是质数,则 \(\varphi(p^k) = (p-1)p^{k-1} = p^k - p^{k-1}\)

证明:因为 \(1\dots p \dots 2p \dots \dots p^2 \dots \dots p^k\) 一共有 $p^k \div p = p^{k-1} $ 个循环节,而每个循环节中和 \(p\) 互质的个数都是 \(p-1\) 个,所以最后答案就是 \((p-1)p^{k-1}\)

证毕

性质3\(\varphi(n) = n \times \prod_{i=1}^{s}(1-\frac{1}{p_i})\)

证明:

由唯一分解定理分解得,\(n=\prod_{i=1}^{s}p_i^{a_i}\)

$\because $欧拉函数是积性函数

\(\therefore \varphi(n) = \prod_{i=1}^{s}\varphi(p_i^{a_i})\)

\(=\prod_{i=1}^{s}p_i^{a_i-1}(p_i-1)\)

\(=\prod_{i=1}^{s}p_i^{a_i}(1-\frac{1}{p_i})\)

\(=\prod_{i=1}^{s}p_i^{a_i} \times \prod_{i=1}^{s}(1-\frac{1}{p_i})\)

\(=n\times \prod_{i=1}^{s}(1-\frac{1}{p_i})\)

  • 性质4: 积性函数:若 \(\gcd(n,m)=1\) ,则 \(\varphi(nm) = \varphi(n)\varphi(m)\)

证明:

\(\because n \bot m\),则 \(n\)\(m\) 没有相同的质因子,设 \(n\) 的质因子个数为 \(cnt_n\)\(m\)的质因子个数为 \(cnt_m\) ,则

\(\varphi(n) \times \varphi(m) = n \times \prod_{i=1}^{cnt_n}(1-\frac{1}{p_i}) \times m \times \prod_{i=1}^{cnt_m}(1-\frac{1}{p_i})\)

\(=n \times m \times \prod_{i=1}^{cnt_n+cnt_m}(1-\frac{1}{p_i})\)

\(=\varphi(nm)\)

证毕

  • 性质5 :若 \(a \mid b\) , 则 \(\varphi(ab) = a \times \varphi(b)\)

证明:因为 \(b\) 里面包含了所有 \(a\) 的质因子,所以 \(\prod_{i=1}^{m}(1-\frac{1}{p_i})\) 是相同的,只是多了一个 \(a\) ,所以性质5成立。

\(\varphi(ab) = ab \times \prod_{k=1}^{s}(1-\frac{1}{p_k})\)

\(\ \ \ \ \ \ \ = a \times b \times \prod_{k=1}^{s}(1-\frac{1}{p_k})\)

\(\ \ \ \ \ \ \ = a \times \varphi(b)\)

  • 性质6

\(p\) 为质数且 \(p|n\) ,则

\[ \varphi(n)= \left\{ \begin{aligned} & p \times \varphi(\frac{n}{p}),p^2 \mid n \\ & (p-1) \times \varphi(\frac{n}{p}),p^2 \nmid n \\ \end{aligned} \right. \]

\(\because p^2 \mid n \therefore p\mid(\frac{n}{p})\) ,再由性质5得上面那个等式;

\(\frac{n}{p}\) 不能被 \(p\) 整除,说明 \(\frac{n}{p}\) 中不含 \(p\) 这个质因子了, 则说明它俩互质,应用积性函数的性质,再应用性质1,得到下面那个等式。

  • 性质7(欧拉反演)

\(\sum_{d \mid n}\varphi(d) = n\)

证明:设 \(f(n) = \sum_{d \mid n}\varphi(d)\) , 若\(n \bot m\) ,则 \(f(n) \times f(m) = \sum_{i \mid n}\varphi(i)\sum_{j \mid m}\varphi(j)\)

\(=\sum_{i \mid n}\sum_{j \mid m}\varphi(i)\varphi(j)\)

\(=\sum_{i \mid n}\sum_{j \mid m}\varphi(i\times j)\)

\(=\sum_{d \mid nm}\varphi(d) = f(nm)\)

所以 \(f(n)\) 是积性函数。

对于单个质因子 \(p\) ,应用性质2可得:

\(f(p^k) = \varphi(1) + \varphi(p) + \varphi(p^2) + \dots + \varphi(p^k)\)

\(=1 + (p-1) + (p^2-p) + \dots + (p^k-p^{k-1})\)

\(=p^k\)

因为 \(n = p_1^{k_1}p_2^{k_2}\dots p_m^{k_m}\)

所以 \(f(n)=f(p_1^{k_1})f(p_2^{k_2})\dots f(p_m^{k_m})\)

\(=p_1^{k_1}p_2^{k_2}\dots p_m^{k_m} = n\)

证毕

  • 性质8 :若\(n>2\),则\(\varphi(n)\) 是偶数

证明:设 $x \bot n $ , 则\(\gcd(x,n) = 1\), 由更相减损得,\(\gcd(x,n) = \gcd(n,x-n) = \gcd(n,n-x) = 1\)

\(n-x \bot n\) ,说明这些质数是一一配对的。一个特例是 \(x=n-x\) 时,\(x = \frac{n}{2}\) ,此时 \(\gcd(n,x) = x \not= 1\) ,所以不会出现这种情况。证毕。

  • 性质9:小于n的数中,与n互质的数的总和为 \(\varphi(n)\times n/2 (n>1)\)

    由性质8我们知道,每一对与 \(n\) 互质的数的和为 \(n\),共有 \(\varphi(n)/2\) 对。

求欧拉函数

试除法

int phi(int n)
{
	int res = n;
	for(re int i=2;i*i<=n;i++)
	{
		if(n % i == 0)
		{
			res = res/i*(i-1);
			while(n%i == 0) n/=i;
		}
	}
	if(n > 1) res = res/n*(n-1);
	return res;
}

时间复杂度 \(O(\sqrt{n})\),适用于规模较小的情况。

线性筛欧拉函数

在线性筛中,每个合数 \(m\) 都是被 最小的质因子筛掉的

\(p_j\)\(m\) 的最小质因子,则 \(m\) 通过 \(m = p_j \times i\) 筛掉。

三种情况:

  • \(i\) 是质数,则 \(\varphi(i) = i-1\);

  • \(i\) 能被 \(p_j\)整除,也就说明 \(i\) 里至少包含着一个\(p_j\) , 那么也就说明 \(p^2 \mid (i\times p_j)\),所以就由性质6上面的等式得

\(\ \ \ \ \ \ \ \ \ \varphi(m) = p_j \times \varphi(i)\)

  • \(i\) 不能被 \(p_j\) 整除,也就说明 \(i\) 里不包含\(p_j\) , 那么也就说明 \(p^2 \nmid (i\times p_j)\),所以就由性质6下面的等式得

\(\ \ \ \varphi(m) = \varphi(p_j) \times \varphi(i) = (p_j-1)\varphi(i)\)

Code

il void get_phi(int n)
{
	memset(isprime , 1 ,sizeof isprime);
	isprime[1]=0; phi[1] = 1;
	for(int i=2;i<=n;i++)
	{
		if(isprime[i]) 
		{
			prime[++cnt]=i;
			phi[i] = i-1;//情况1
		}
		for(int j=1;j<=cnt && prime[j]*i <=n ;j++)
		{
			int m = i*prime[j];
			isprime[m]=0;
			if(i%prime[j] == 0) 
			{
				phi[m] = prime[j] * phi[i];//情况2
				break;
			}
			else phi[m] = (prime[j]-1)*phi[i];//情况3
		}
	}
}

时间复杂度 \(O(n)\)

(Ⅱ):欧拉定理

前置知识

  • 同余

  • 同余类:对于 \(\forall a \in [0,m-1]\),集合 \(\{ a+km \}(k \in \mathbb{Z})\) 的所有数模 \(m\) 同余,余数都是 \(a\)。该集合称为一个模 \(m\)同余类,简记为 \(\overline{a}\)

  • 完全剩余系:模 \(m\) 的同余类一共有 \(m\) 个,分别是 \(\overline{0},\overline{1},\overline{2} \dots \overline{m-1}\),它们构成 \(m\)完全剩余系

    \(e.g.\) \(m=5\)\(\{0,1,2,3,4 \}\) 就是模 \(5\) 的一个完全剩余系,同理,\(\{5,1,-3,8,9 \}\)也是一个。

  • 简化剩余系(缩系、既约剩余系):从与 \(m\) 互质的 \(\varphi(m)\) 个剩余类中各选一个数 \(a_1,a_2,⋯,a_k\),它们构成模 \(m\) 的 简化剩余系。

    \(e.g.\) \(n=10\)\(\{1,3,7,9 \}\) 就是模 \(10\) 的简化剩余系。

    简化剩余系关于模 \(m\) 乘法封闭。若 \(a,b(1\leq a,b \leq m)\)\(m\) 互质,则 \(a \times b\) 也与 \(m\) 互质。再由余数的定义即可得到 \(a \times b \ \text{mod} \ m\) 也与 \(m\) 互质,即 \(a \times b \ \text{mod} \ m\) 也属于 \(m\) 的简化剩余系。

定义

欧拉定理:若 \(\gcd(a,m) = 1\) , 则 \(a^{\varphi(m)} \equiv 1 (mod \ m)\)

证明:构造一个与 \(m\) 互质的序列。

\(\{r_1,r_2,\dots,r_{\varphi(m)} \}\) 是一个模 \(m\) 的简化剩余系。

由乘法封闭得,\(\{ar_1,ar_2,\dots,ar_{\varphi(m)} \}\) 也是一个模 \(m\) 的简化剩余系。

\(\therefore \prod_{i=1}^{\varphi(m)}r_i \equiv \prod_{i=1}^{\varphi(m)}ar_i \equiv a^{\varphi(m)}\prod_{i=1}^{\varphi(m)}r_i(mod \ m)\)

因为 \(\gcd(\prod_{i=1}^{\varphi(m)}r_i,m) = 1\) ,由同余的性质(11)得

\[a^{\varphi(m)} \equiv 1 (mod \ m) \]

特别的,当 \(m\) 为质数时 , 因为 \(\varphi(m) = m-1\) ,带入欧拉定理我们可以得到

\[ a^{m-1} \equiv 1 (mod \ m) \]

这也就是我们的费马小定理


(Ⅲ):扩展欧拉定理

\[ a^b \equiv \left\{ \begin{aligned} & a ^ {b \ mod \ \varphi(p)} \ \ \ \ \ \ \ \ \ \ \gcd(a,p)=1 \\ & a^b \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \gcd(a,p) \not= 1 ,b<\varphi(p) \\ & a^{b \ mod \ \varphi(p)+\varphi(p)} \ \ \ \gcd(a,p) \not=1,b \geq \varphi(p) \end{aligned} \right. \]

\(\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (mod \ p)\)

(第二三个互质与否都可)

证明:

对于第一个式子 , 设 \(b = q * \varphi(p) + r(0\leq r < \varphi(p))\)\(r = b \ mod \ \varphi(p)\)

于是就有 \(a^b \equiv a^{q*\varphi(p)+r} \equiv (a^{\varphi(p)})^q \times a^r \equiv 1^q \times a^r \equiv a^r \equiv a^{b \ mod \ \varphi(n)}\)

对于第二个式子,啥也没变,当然同余。

对于第三个式子,感性证明 \(\text{by Alex\_wei}\)

"当 \(\gcd(a,p)\not= 1\) 时,不断乘以 \(a\) 会让 \(a^i\)\(p\)\(\gcd\) 不断变大,直到某个特定的 \(a^r\) 之后 \(\gcd\) 不再变化,因为此时 \(\gcd(a^r,p)\) 受到 \(p\) 的每个与 \(a\) 相同的质因子的次数的限制。令这个 \(gcd\)\(d\),考虑 \(a^r \ mod \ p,a^{r+1} \ mod \ p,⋯\)显然它们均为 \(d\) 的倍数,且除以 \(d\) 之后会取遍所有与 \(\frac{p}{d}\) 互质的数,这是因为 \(a \bot \frac{p}{d}\)。根据欧拉定理,\(a^k \ mod \ \frac{p}{d}\) 有循环节 \(\varphi(\frac{p}{d})\),因此 \((a^k \ mod \ \frac{p}{d})\times d\)\(a^k \ mod \ p\) 也有循环节 \(\varphi(\frac{p}{d})\)。故从 \(a^r\) 开始,\(a^{r+k} \ mod \ p\) 有循环节 \(\varphi(p)\)。"

四、威尔逊定理

定义:\((p-1)! \equiv -1 (\text{mod} \ p)\)\(p\) 为质数的充要条件。

证明

充分性(反证法)

\(p\) 不是质数

\(p=1\) 时,\((1-1)! \equiv 0 (\text{mod} \ 1)\)

\(p=4\) 时,\((4-1)! \equiv 2 (\text{mod} \ 4)\)

\(p > 4\) 时,

(1)当 \(p\) 是完全平方数

\(p=k^2\) ,则 $ k>2 $ ,可得 \(2k < p\)

\(\therefore (p-1)!=1\times 2 \times 3 \times \dots \times k \times \dots \times 2k \times (p-1)\)

\(=k^2 \times n = p \times n\)

\((p-1)! \equiv 0 (\text{mod} \ p)\)

(2)当 \(p\) 不是完全平方数

\(p=a \times b\) ,$ 1 < a < b < p $

\(\therefore (p-1)!=1\times 2 \times 3 \times \dots \times a \times \dots \times b \times (p-1)\)

\(=a \times b \times n = p \times n\)

\((p-1)! \equiv 0 (\text{mod} \ p)\)

必要性

\(p\) 是质数

则集合 \(\{1,2,3,\dots,p-1\}\)是模 \(p\) 的简化剩余系

\(a \in [1,p-1]\) ,则 \(a,p\) 互质

所以集合 \(\{a,2a,3a,\dots,(p-1)a\}\)也是一个模 \(p\) 的简化剩余系。

对于 \(x \in [1,p-1]\) ,只有一个 \(ka\) 满足 \(kax \equiv 1(\text{mod} \ p)\),\(k \in [1,p-1]\)

暂且先用 \(a\) 来代表 \(ka\)

(1) \(a=x\)时,即 \(x^2 \equiv 1(\text{mod} \ p)\)

\((x-1)(x+1) \equiv 0(\text{mod} \ p)\)

\(x_1=1 , x_2 = p-1\)

(2) \(a \not= x\) 时,满足 \(ax \equiv 1(\text{mod} \ p)\)的取值范围就是 \(2\leq a,x \leq p-2\)

所以必然有 \(\frac{p-3}{2}\) 对数的乘积模 \(p\)\(1\)

\((p-2)! \equiv 1(\text{mod} \ p)\)

同乘 \(p-1\),得到 \((p-1)! \equiv p-1(\text{mod} \ p) \equiv -1(\text{mod} \ p)\)

命题得证。

五、乘法逆元

定义

若整数 \(b,m\) 互质 ,并且 \(b \mid a\) ,则存在一个整数 \(x\) , 使得 \(a / b \equiv a \times x(\text{mod} \ m)\) ,则称 \(x\)\(b\) 的模 \(m\) 乘法逆元,记为 \(b^{-1}(\text{mod} \ m)\)

因为 \(a / b \equiv a \times b^{-1} \equiv a / b \times b \times b^{-1}(\text{mod} \ m)\) (二式三式之间,除个 \(b\) 在乘个 \(b\) ),所以 \(b \times b^{-1} \equiv 1(\text{mod} \ m)\)

实际上,乘法逆元的意义就是在模 \(m\) 意义下,除以 \(b\) 等效于乘以 \(x\) ,这样就可以化除为乘,而乘法就比除法有着更好的性质了。

性质

  • 1.当且仅当 \(a,b\) 互质时,\(a\) 在模 \(b\) 意义下有乘法逆元。

证明:假设 \(x\)\(a\) 在模 \(m\) 意义下的乘法逆元,则有 \(a \times x \equiv 1(\text{mod} \ m)\) ,这可以转化成一个不定方程 \(ax + by = 1\) ,运用裴蜀定理的推广,我们知道 \(ax+by\) 的最小正整数解是 \(\gcd(a,b)\) ,要保证有解,就要使得 \(\gcd(a,b) \mid 1\) ,显然 \(\gcd(a,b)\) 只能为 \(1\) ,所以 \(a,b\) 必须互质。

  • 2.唯一性:当 \(a,b\) 互质时,\(a\) 在模 \(b\) 意义下的乘法逆元是唯一的。

    但我们要知道的是,这个唯一是唯一一个剩余系满足这个条件,而一般我们就取 \(1,2,\dots,n-1\) 的范围内唯一的解。比如 \(3\)\(7\)\(a=3,b=4\) 中是等效的。

逆元求法

求解同余方程

在上文我们已经提到了可以将 则有 \(a \times x \equiv 1(\text{mod} \ m)\) ,转化成一个不定方程 \(ax + by = 1\)。我们通过扩展欧几里得求出 \(x\) 的一个特解后 ,再通过 \((a \% m + m) \% m\) 的 trick 得到最小整数解。

费马小定理

\(\gcd(a,p) = 1\)\(p\) 是质数的时候,我们可以更简单的求出逆元。

根据费马小定理我们有 \(a^{p-1} \equiv 1(\text{mod} \ p)\)

所以\(a \times a^{p-2} \equiv 1(\text{mod} \ p)\)

所以 \(a\) 在模 \(p\) 意义下的乘法逆元就是 \(a^{p-2}\) ,其可以通过快速幂求出。

线性求逆元

这里仅介绍一种比较好理解的 \(O(n)\)\(1-n\) 中所有数的阶乘求逆元。

\(inv_i\) 表示 \(i!\) 的逆元,即 \(\frac{1}{i!}\)

那么就有这样一个递推关系:\(inv_{i+1} \times (i+1) = \frac{1}{i!} = inv_i\)

我们可以求出 \(n!\) 的逆元,然后再倒推,就能求出 \(1\dots n!\) 所有的逆元。

那么 \(i^{-1} = \frac{1}{i!} \times (i-1)! = inv_i \times (i-1)!\)

六、线性同余方程

定义

给定整数 \(a,b,m\) ,求一个整数 \(x\) 满足 \(a \times x \equiv b(\text{mod} \ m)\) ,或者无解。因为未知数的指数为 \(1\) , 所以叫做一次同余方程,也叫线性同余方程。

其实上文已经有类似的思路了 \(a \times x \equiv b(\text{mod} \ m)\) 等价于 \(ax + my = b\)。根据裴蜀定理,线性同余方程有解当且仅当 \(\gcd(a,m) \mid b\)

求解同余方程

跟求逆元类似的,我们把它转成不定方程之后用扩展欧几里得算法求出一组整数解 \(x_0,y_0\) 满足 \(ax_0 + by_0 = \gcd(a,m)\) ,然后 \(x = x_0 \times b/ \gcd(a,m)\) 就是原线性同余方程的一个解。

方程的通解则是 \(x + k\frac{m}{\gcd(a,m)},k\in \mathbb{Z}\)

七、中国剩余定理(CRT)

用途

中国剩余定理是用来求解形如

\[\begin{cases} x \equiv r_1 ,& (\text{mod} \ m_1) \\ x \equiv r_2 ,& (\text{mod} \ m_2) \\ \dots \\ x \equiv r_n ,& (\text{mod} \ m_n) \end{cases} \]

的线性同余方程组的,其中模数两两互质。

思路

    1. 计算出所有模数的积 \(M\)
    1. 计算第 \(i\) 个方程的 \(c_i = \frac{M}{m_i}\)
    1. 计算 \(c_i\) 在模 \(m_i\) 意义下的逆元 \(c_i^{-1}\)
    1. \(x = \sum_{i=1}^n r_ic_ic_i^{-1}(\text{mod} \ M)\)

这其实是一个构造的过程。

先证明 \(\sum_{i=1}^n r_ic_ic_i^{-1}\) 满足每个 \(x \equiv r_i(\text{mod} \ m_i)\)

\(i \not= j\) 时 ,因为 \(c_j\) 中并没有去掉 \(m_i\) ,所以 \(c_j\)\(m_i\) 的倍数,因此 \(c_j \equiv 0(\text{mod} \ m_i)\) ,故有 \(c_jc_j^{-1} \equiv 0(\text{mod} \ m_i)\)

\(i = j\) 时 ,因为 \(c_i\) 中去掉了 \(m_i\) , 所以 \(c_i\) 肯定不是 \(m_i\) 的倍数,因此 \(c_i \not\equiv 0(\text{mod} \ m_i)\) ,故有 \(c_ic_i^{-1} \equiv 1(\text{mod} \ m_i)\)

所以 \(x \equiv r_i (\text{mod} \ m_i)\)

\(\ \ \ \ \ \ \ \ \ \ \ \equiv r_ic_ic_i^{-1}(\text{mod} \ m_i)\)

\(\ \ \ \ \ \ \ \ \ \ \ \equiv \sum_{i=1}^n r_ic_ic_i^{-1}(\text{mod} \ m_i)\)

\(\sum_{i=1}^n r_ic_ic_i^{-1}(\text{mod}\ M)\)\(m_i\) 来说,只是减去了 \(m_i\) 的若干倍,并不影响余数 \(r_i\) ,这就是它构造的巧妙之处。

总之就是 \(\text{mod} \ M\) 后剩下的是一个 \(r_i + km_i(0\leq k < \frac{M}{m_i})\) 状物,模完 \(m_i\) 依旧只剩下 \(r_i\)

一般来说,题目里的范围类似 \(\prod a_i \leq 10^{18}\) 这样很特别的范围,我们可以考虑往中国剩余定理这方面想。

八、扩展中国剩余定理(exCRT)

用途

扩展中国剩余定理是用来求解形如

\[\begin{cases} x \equiv r_1 ,& (\text{mod} \ m_1) \\ x \equiv r_2 ,& (\text{mod} \ m_2) \\ \dots \\ x \equiv r_n ,& (\text{mod} \ m_n) \end{cases} \]

的线性同余方程组的,但是其中模数不一定互质。

思路

同样是求解线性同余方程组,为什么不能用 CRT 呢?从原理说起,CRT 中会用到逆元,但是如果 \(m_i\) 不互质,那么 \(c_i\)\(m_i\) 意义下就没有逆元。这是一个根本性的问题,我们不能对 CRT 修改一些 bug 来解决问题,只能新找思路。

exCRT 是一个合并同余方程的过程,步骤如下。

  • 给出两个同余方程 \(x \equiv r_1(\text{mod} \ m_1) , x \equiv r_2(\text{mod} \ m_2)\)

  • 将同余方程转化成不定方程:\(x = m_1p + r_1 = -m_2q + r_2\)

    移项,\(m_1p + m_2q = r_2-r_1\)

  • 由裴蜀定理得:

    \(\gcd(m_1,m_2) \nmid (r_2-r_1)\) ,无解。

    \(\gcd(m_1,m_2) \mid (r_2-r_1)\) ,有解。

  • 如果有解,继续做。由扩展欧几里得算法,我们可以求得 \(p\)\(q\) 的特解。

    其通解 \(P = p + k\frac{m_2}{\gcd(m_1,m_2)} , Q = q + k\frac{m_1}{\gcd(m_1,m_2)}\)

    所以 \(x = m_1P + r_1 = k\frac{m_1m_2}{\gcd(m_1,m_2)} + m_1p + r_1\)

    \(x = k\times \text{lcm}(m1,m2) + m_1p + r_1\)

    由此我们就能把这两个同余方程等效转化成一个同余方程: \(x \equiv r(\text{mod} \ m)\) ,其中 \(m = \text{lcm}(m_1,m_2) , r = m_1p + r_1\)

这就是 exCRT 的本质:合并同余方程。对于 \(n\) 个同余方程,我们只需合并 \(n-1\) 次,时间复杂度 \(O(n\log{m})\)

posted @ 2023-05-25 20:17  Bloodstalk  阅读(48)  评论(0编辑  收藏  举报