中国剩余定理(CRT)

对两两互素的 \(k\) 个正整数 \(m_1,m_2,...,m_k\) 与任意整数 \(c_1,c_2,...,c_k\) ,存在整数 \(x\) 满足:

\( \begin{cases} &x\equiv c_1\:(mod~m_1)\\ &x\equiv c_2\:(mod~m_2)\\ &...\\ &x\equiv c_k\:(mod~m_k) \end{cases} \)

并且该解在模 \(m_1m_2...m_k\) 意义下唯一

\(M_i=\frac{1}{m_i}(\prod\limits_{j=1}^{k}m_j)\) ,则一根 \(x_0=\sum\limits_{i=1}^{k}M_iM_i^{-1}c_i\)

也可以对前 \(n\) 个方程归纳,通过完系说明存在解(这个说明唯一性更好)

加强:方程组有解的充要条件是 \((m_i,m_j)\mid c_i-c_j\) 对任意 \(i,j\in \overline{1,k}\) 成立

证明: \((m_i,m_j)\mid (x-c_i)-(x-c_j)\) 表明该条件是必要的

\(m_1m_2...m_k\) 的素因子为 \(p_1,p_2,...,p_t\) ,并设 \(s_i=v_{p_i}(m_{r_i})=\max\limits_{1\le j\le t}(v_{p_i}(m_j))\)

则取 \(x\equiv a_{r_i}\:(mod~p_i^{s_i})\) 满足条件

关于中国剩余定理控制素因子幂次的问题,可以在素因子幂次的相关笔记查阅。

例1

寻找连续 \(n\) 个正整数不是素数的幂

\(m\equiv -k\:(mod~p_kq_k) ,k=1,2,...,n\)\(p,q\) 为不同的素数数列

\(m+1,m+2,...\) 即可

也可以取 \([(n+1)!]^2+k\)

例2

求所有 \(n\in N_+\) 使得存在 \(0,1,2,...,n-1\) 的排列 \(a_1,a_2,...,a_n\) 满足 \(a_1,a_1a_2,...,a_1a_2a_3...a_n\) 为模 \(n\) 的完系

\(1,4\) 满足条件

\(n\) 为素数时,结论成立。利用逆元构造,考虑

\(a_i(i-1)\equiv i\:(mod~n)\) ,特别地, \(a_1=1\)

那么 \(a_1a_2...a_i= (2-1)a_2a_3...a_i\equiv 2a_3a_4...a_i\equiv 3a_4...\equiv i\:(mod~n)\)

可以发现当 \(n\) 为素数时这些方程的解不同,我们尝试具体刻画这些解

\(b_i=a_i(i-1)\) ,则有 \(b_i\equiv0\:(mod~i-1),b_i\equiv i\:(mod~n)\)

我们来考虑证明 \(a_i\) 互不相同,若 \(a_i\equiv a_j\:(mod~n)\) ,有 \(b_i(j-1)\equiv b_j(i-1) \:(mod~n)\) ,即 \(-i\equiv -j\:(mod~n)\) ,矛盾

注意我们还需要说明 \(a_i\neq 1\) ,当然这个很显然,但需要说明

接下来证明大于 \(4\) 的合数不可以

实际上只要注意到 \(n=pq\) (特别地,当 \(n=p^2\) ,取 \(p=2q\)

由于 \(p,q,n\) 均会在排列中出现,这意味着数列会有两个 \(0\) ,就矛盾了

注:记模 \(p\) 的原根为 \(g\) ,令 \(a_i\equiv g^{b_i}\:(mod~p),i=1,2,...,p-1\)

其中 \(b_{2i}=2i,b_{2i+1}=n-2i-1\) ,则 \(S_i=\sum_{i=1}^{p-1} b_j\) 构成模 \(p-1\) 完系

不难证明其满足条件

例3

存在 \(k\) 使得对任意正整数 \(n\)\(k\cdot 2^n+1\) 为合数

法一:

记费马数 \(F_m=2^{2^m}+1\)

注意到对 \(n> m\)\(k\cdot 2^{2^ns}+1\equiv k\cdot(-1)^{2^{m-n}s}+1\equiv k+1\:(mod~F_m)\) (通过这一点满足一部分的 \(n+1\) 是这个解答的关键)

\(n=m\) 时,可知 \(k\cdot2^{2^ns}+1\equiv -k+1\:(mod~F_m)\)

此时,注意到 \(F_5=641\cdot 6700417\) ,我们取 \(k\equiv 1\:(mod~641),k\equiv -1\:(mod~6700417)\)

接下来取 \(k\equiv 1\:(mod~F_0F_1F_2F_3F_4)\)

\(n=2^t\cdot s,2\nmid s\)

  1. \(s\ge 6\) ,则 \(k\cdot2^{2^ts}+1\equiv k\cdot (-1)^{2^{t-5}s}+1\equiv k+1\equiv 0\:(mod~6700417)\)

  2. \(s=5\) ,则 \(k\cdot 2^{2^ts}+1\equiv -1+1\equiv 0\:(mod~641)\)

  3. \(s\le 4\) ,则 \(k\cdot 2^{2^ts}+1\equiv -1+1\equiv 0\:(mod~F_s)\)

从而 \(k\cdot 2^n+1\) 为合数

法二:注意到 \(k\cdot 2^n+1\equiv 0\:(mod~p)\)

\(\iff -k\equiv2^{-n}\:(mod~p)\)

我们希望 \(p\mid 2^{m_i}-1\) ,然后令 \(2^{-n}\equiv 2^{x_i}\equiv -k\:(mod~p)\) ,其中 \(-n\equiv x_i\:(mod~m_i)\)

对于每个 \(n\) 都能找到对应的 \((x_i,m_i)\) ,我们使用覆盖同余组构造

注意到 \(2Z,3Z,1+4Z,3+8Z,7+12Z,23+24Z\) 是覆盖同余组,并且

\(3\mid 2^2-1,7\mid 2^3-1,5\mid 2^4-1,17\mid 2^8-1,13\mid 2^{12}-1,241\mid 2^{24}-1\)

\(p_i=3,7,5,...\)

\(k\equiv 1\:(mod~256)\) 并取 \(k\equiv -2^{x_i}\:(mod ~p_i)\)

这个证明方法可以直接构造出一个等差数列(就是所有的 \(k\) ),每一项都是奇数,并且不能表示成 \(2^k+p\)(其中 \(p\) 是素数)的形式。

下面的两个问题很困难。

例4

\(a_1<a_2<...<a_n\) 是两两互素的正整数, \(a_1\) 是素数,满足 \(a_1\ge n+2\) 。在实数轴上的区间 \(I=[0,a_1a_2...a_n]\) 上将所有的 \(a_1,a_2,...,a_n\) 的倍数标记出来,这些标记点将 \(I\) 划分成小线段。证明:所有线段长度的平方和是 \(a_1\) 的倍数。

问题的难点在于计数的转换。线段长度的平方和是什么?这与它的子区间(端点是整数)个数有关。我们记所有倍数是 \(b_1<b_2<...<b_k\)

我们考虑所有区间 \((a,b)\) 使得 \((a,b)\) 中不存在任何倍数,也就是 \(b_j\le a<b\le b_{j+1}\) ,这样的区间个数是

\(\sum\limits_{i=0}^{k-1}C_{b_{i+1}-b_i+1}^2=N\)

则可以表示

\(\sum\limits_{i=0}^{k-1}(b_{i+1}-b_i)^2=2N-a_1a_2...a_n\)

于是只要证 \(a_1\mid N\) ,我们可以考虑长度为 \(1\le d\le a_1\) 的符合条件的区间有几个。若 \((x,x+d)\) 符合条件,意味着, \(x\le a_i-d\:(mod~a_i)\) ,这样就给出了 \((a_1-d+1)(a_2-d+1)...(a_n-d+1)\) 个方程组,每个方程唯一解 \(x\) 均满足条件,于是

\(N=\sum\limits_{d=1}^{a_1}(a_1+1-d)(a_2+1-d)...(a_n+1-d)\)

由于 \(n<a_1-1\) ,并且 \(a_1\) 是素数,把上式视作关于 \(d\) 的多项式求和,根据拉格朗日定理的推论可以给出结论。

例5

函数 \(f:N\rightarrow N\) 满足:若 \((m,n)=1\) ,则 \((f(m),f(n))=1\) ,对所有 \(n\)\(n\le f(n)\le n+2012\) ,证明:若 \(n>1\) ,则 \(f(n)\) 的任何素因子都是 \(n\) 的素因子

关键的切入点是序列 \(a_1=2013!+1,a_{i+1}=a_i!+1\) ,这个序列每两项都两两互质,但是 \(a_i+k,a_j+k\) 两两都不互质

于是根据抽屉原理找到一个无穷子序列 \(b_1,b_2,...\) 使得 \(f(b_i)=b_i+k\) ,其中 \(0\le k\le 2012\) 是定值。如果 \(k\ne 0\) ,那么 \((f(b_i),f(b_j))=k+1>0\) ,但是 \((b_i,b_j)=1\) ,与题目条件矛盾。

考虑 \(p\mid f(n)\) ,如果 \(p\nmid n\) ,我们将要构造一个 \(a\) 说明矛盾。

首先,可以令 \(p\mid a\) ,使得 \((a,p)>1\) ,但是令 \(a\)\(n\) 互质,这样就给出了 \((f(a),f(n))=1\) ,进一步 \((f(a),p)=1\) ,于是 \(f(a)\ne a\)

然后令 \(b_{k_i}\mid a+i\) ,其中 \((b_{k_i},pni)=1\) ,因为 \(i\le 2012\) ,而 \(b\) 又是无穷的两两互素的序列,对于常数 \(pn\cdot 2012!\) 是一定可以找到这样的 \(2012\) 个数的

如果 \(f(a)=a+i\) ,那么 \((a,b_{k_i})=(-i,b_{k_i})=1,(f(a),f(b_{k_i}))=(a+i,b_{k_i})>1\) ,矛盾,完成证明。

注:类似的题在 \(CTST2014\) 出现,条件加强为 \((f(m),f(n))\le (m,n)^{2014},n\le f(n)\le f(n)+2014\) ,要证明 \(f(n)=n\) 对充分大 \(n\) 成立。

这个题要简单的多,因为 \(n_1\ne n_2,f(n_1)=f(n_2)\) 给出 \((n_1-n_2)^{2014}\ge (n_1,n_2)^{2014}\ge f_(n_1)\) ,但是 \(n\le f(n)\le f(n)+2014\) 说明 \(|n_1-n_2|\le 2014\) ,所以当 \(n\) 充分大 \(f\) 是单射。再结合 \(f(n)\le n+2014\) ,不难说明充分大(这个充分大要更强一些) \(n\) 是满射,必须是 \(f(n)=n+i\) ,然后本题的不动点序列给出结论。用本题的结论去做完全是事倍功半。

例6

一个由正整数构成的有限集称为好集,是指对任何整数 \(k\) ,均存在 \(a,b\in C,a\ne b\) 使得 \((a+k,b+k)>1\) ,求证:如果好集的元素和为素数 \(p\) ,则存在一个数 \(c\in C\) ,使得 \(C-\{c\}\) 是好集。

这道题不难,但需要花一点时间摸清好集的性质,我们声称: \(C\) 是好集的充要条件是存在素数 \(p\) 使得 \(C\) 可以划分为 \(A,B\)\(A,B\) 分别覆盖模 \(p\) 的完系至少一次。

一方面,对每个 \(p_i\le \max_{x\in C}\{x\}\) ,可以找到 \(a_i\) ,使得 \(|\{k\in C,k\equiv a_i\:(mod~p_i)\}|\le 1\) ,则考虑方程组 \(k\equiv -a_i\:(mod~p_i)\) 对应的 \(k\) ,根据 \((a+k,b+k)\le |a-b|\le p_i\)\(p_i\mid (a+k,b+k)\) ,则 \(a\equiv b\equiv a_i\:(mod~p_i)\) ,矛盾!

而遍历两次完系可以直接模 \(p\) 考虑,找出 \(a\equiv b\equiv -k\:(mod~p)\) 即可。

问题的剩余部分是平凡的,如果 \(C\) 恰好可以划分为两个模 \(p\) 完系,那么 \(\sigma(C)\equiv p(p+1)\equiv 0\:(mod~p)\) ,但 \(0\notin C\) 给出 \(\sigma(C)>p\) ,那么 \(\sigma(C)\) 就不是素数,矛盾。从而 \(C\) 不能恰好划分,可以去掉一个数。

亨泽尔引理

已知整系数多项式 \(f(x)\) ,奇素数 \(p\) ,满足 \(f(x)\equiv 0\:(mod~p)\) 的一个解为 \(a\) 。则满足 \(f(x)\equiv 0\:(mod~p^n)且x\equiv a\:(mod~p)\) 的解的个数为

\( \begin{cases} &1~~~~p\nmid f'(a)\\ &0~~~~p\mid f'(a), p^n\nmid f(a)\\ &p~~~~p^n\mid f(a)\\ \end{cases} \)

证明:记 \(y=rp^{n-1}+a\) 利用泰勒展开,可以得到

\(f(y)\equiv f(a)+rp^{n-1}f'(a)\:(mod~p^{2(n-1)})\)

从而 \(f(y)\equiv0\:(mod~p^n)\iff \frac{f(a)}{p^{n-1}}+rf'(a)\equiv 0\:(mod~p^n)\)

即证

亨泽尔引理配合另一个定理可以起到很好的作用

整体——局部原则

\(A(n)=\{x\mid x\in\overline{0,n-1},f(x)\equiv0\:(mod~n)\}\)

则对两两互素正整数 \(m_1,m_2,...,m_k\) ,映射

\(A(m_1m_2...m_k)\rightarrow A(m_1)\times A(m_2)\times ...\times A(m_k)\)

\(x\rightarrow (x\:(mod~m_1),x\:(mod~m_2),...,x\:(mod~m_k))\)

是双射

这不难由中国剩余定理推出

我们说,如果要解一个 \(mod ~n=p_1^{\alpha_1}...p_k^{\alpha_k}\) 的方程,根据整体局部原则,只要对所有 \(p_i^{\alpha_i}\) 求解,最后解数就是全部的解数乘在一起。

例1

求证:对 \(2\nmid pq\) ,有 \(\sum\limits_{k=0}^{pq-1} (-1)^{[\frac kp]+[\frac kq]}=1\)

关键的想法是给 \(-1\) 的指数乘上 \(pq\) ,奇偶性不变,于是

\(\sum\limits_{k=0}^{pq-1} (-1)^{[\frac kp]+[\frac kq]}=\sum\limits_{k=0}^{pq-1} (-1)^{pq({[\frac kp]+[\frac kq]})}=\sum\limits_{k=0}^{pq-1} (-1)^{(p+q)k-(k~mod~p+k~mod~q)}=\sum\limits_{k=0}^{pq-1} (-1)^{(k~mod~p+k~mod~q)}\)

根据整体局部原则, \((k~mod~p,k~mod~q)\) 遍历了 \((0,0)\)\((p-1,q-1)\) 的所有数,完成了证明。

例2

求方程 \(x^2\equiv 1\:(mod~n)\)\(n\) 意义下解的个数

\(x^2\equiv 1\:(mod~p^\alpha),p>2\) 的解数恰为 \(2\)

\(x^2\equiv 1\:(mod~2)\) 有一个解,\(x^2\equiv 1\:(mod~4)\) 有两个解, \(x^2\equiv 1\:(mod~2^\alpha)(\alpha>2)\)\(4\) 个解

\(n\)\(k\) 个奇素因子,则方程解数为 \(2^{k+2}(v_2(n)\ge 3),2^{k+1}(v_2(n)=2),2^k\)

例3

设函数 \(f:N\rightarrow Z\) 满足 \(a-b\mid f(a)-f(b)\) 对所有正整数 \(a,b\) 成立,设 \(a(n)\)\(b(n)\) 分别表示序列 \(f(1),f(2),...,f(n)\)\(n\) 的倍数个数和与 \(n\) 互质的数的个数。证明: \(a,b\) 是积性函数,并且 \(b(n)=n\prod\limits_{p\mid n}(1-\frac{a(p)}p)\)

\(m,n\) 是互素整数,考虑 \(j\equiv u\:(mod~m),j\equiv v\:(mod~n)\) ,如果 \(mn\mid f(j)\) ,这等价于 \(m\mid f(u)且n\mid f(v)\)

由整体局部原则可以建立 \((u,v)\in\overline{1,m}\times \overline{1,n}\rightarrow j\in\overline{1,mn}\) 的一一映射,而满足条件的 \((u,v)\)\(a(m)a(n)\) 个,于是 \(a(mn)=a(m)a(n)\)

\(b\) 的表达式直接说明其积性,我们只要证这个表达式,考虑容斥原理,设 \(A_p=\{1\le x\le n,p\mid f(x)\}\)

\(b(n)=n-|\cup_{p\mid n}A_p|=n-\sum\limits_{p\mid n}|A_p|+\sum\limits_{pq\mid n}|A_{pq}|-...\)

而对 \(k\mid n\) ,显然有 \(A_k=\frac nka(k)\) ,所以 \(b(n)=n\prod\limits_{p\mid n}(1-\frac{a(p)}p)\)

这个例子很有用,可以证明下面的命题:

  1. 对每个整数 \(n\) ,满足 \(1\le a\le n\)\(a,a+1\)\(n\) 均互素的 \(a\) 个数是 \(n\prod_{p\mid n}(1-\frac 2p)\)

考虑多项式 \(f(x)=x(x+1)\) 即可

  1. \(\sum\limits_{1\le k\le n,(k,n)=1}(n,k-1)=\varphi(n)\tau(n)\)

\(\begin {aligned} \large LHS&=\sum\limits_{1\le k\le n,(k,n)=1}\sum\limits_{d\mid n,d\mid k-1}\varphi(d)\\ &=\sum\limits_{d\mid n}\varphi(d)\sum\limits_{1\le k\le n,(k,n)=1,d\mid k-1}1 \end{aligned}\)

我们声称 \(S_d=\{1\le k\le n,(k,n)=1,k\equiv 1\:(mod~d)\}\) 中元素个数恰好是 \(\varphi(n)/\varphi(d)\) 个。

考虑 \(k=1+dx\) ,则 \(1\le x<\frac nd\) ,并且 \(1+xd\)\(\frac nd\) 互素。考虑多项式 \(f(x)=1+xd\) ,由 \(f(1),f(2),...,f(p)\)\(p\) 的倍数恰好 \(1\) 个(除非 \(p\mid d\)

于是

\(\large |S_d|=\frac nd\prod\limits_{p\mid \frac nd,(p,d)=1}(1-\frac 1p)=\frac nd\frac{\prod_{p\mid n}(1-\frac 1p)}{\prod_{p\mid d}(1-\frac 1p)}=\frac{\varphi(n)}{\varphi(d)}\)

posted @ 2024-07-12 10:22  ATTLAS  阅读(84)  评论(0)    收藏  举报