初等数学瞎扯Ⅰ:同余相关

这篇博客详细介绍了模算术的基本概念,如整除、同余,并深入讨论了模算术中的常见定理,包括费马小定理、欧拉定理及其扩展形式。博客还涵盖了威尔逊定理的证明和拓展,以及在素数幂次中的应用。此外,博主还讨论了线性同余方程组的解法,如扩展欧几里得算法和中国剩余定理,并引入了原根和阶的概念。文章适合对数论感兴趣或需要掌握模算术基础知识的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面:

还在写qwq,NOIP之前应该会写到exCRT及以后,但是省选数论比如 Lucas 扩展 Lucas 还有原根二次剩余这些东西可能要等到NOIP以后了。

关于题目我也没有做过多少,具体可以看看魏老师的博客,一车题,本文也是基本仿着魏老师博客写的(就是从这里学的qwq,掺杂了一些个人理解),链接在下面。

最后祝各位 NOIP RP++/bx

更新:

死回来了,NOIP 打了个二等,看起来没带脑子。

从某种意义上来说,我也是备战 NOIP2023 的最早的选手。

真的是脸都不要了。


0. 基本定义

  • 整除:若对于 a , b ∈ Z a,b\in \mathbb{Z} a,bZ b ≠ 0 b \neq 0 b=0,有 a   m o d   b = 0 a\bmod b=0 amodb=0,则我们称 b b b 整除 a a a a a a b b b 整除,记作 b ∣ a b\mid a ba,否则我们称 b b b 不整除 a a a a a a 不被 b b b 整除,记作 b ∤ a b \nmid a ba

  • 同余:若对于 a , b , p ∈ Z a,b,p\in \mathbb{Z} a,b,pZ p ≠ 0 p \neq 0 p=0,有 a   m o d   p = b   m o d   p a\bmod p=b\bmod p amodp=bmodp,则称 a a a b b b 在模 p p p 意义下同余,记作 a ≡ b ( m o d p ) a\equiv b\pmod p ab(modp),否则称 a a a b b b 在模 p p p 意义下不同余,记作 a ≢ b ( m o d p ) a\not\equiv b\pmod p ab(modp)。本文中不会特别区分 = = = ≡ \equiv ,故可能存在混用情况,望见谅。

  • 质数集:质数的集合,记作 P \mathbb{P} P

  • 最大公约数:对于两个数 a , b a,b a,b,我们称数字 d d d a , b a,b a,b 的最大公约数当 d d d 是整除 a , b a,b a,b最大整数,记作 gcd ⁡ ( a , b ) \gcd(a,b) gcd(a,b),简记为 ( a , b ) (a,b) (a,b)

  • 互质:两个数 a , b a,b a,b 互质当且仅当 ( a , b ) = 1 (a,b)=1 (a,b)=1,记作 a ⊥ b a\bot b ab

  • 质因子次数符号:把 n n n 分解质因数后数字 p p p 的幂次记作 ν p ( n ) \nu_p(n) νp(n)

  • 各位数之和符号:在 p p p 进制下的数 n n n 各位数字的和记作 s p ( n ) s_p(n) sp(n),例如, s ( 123 ) = 6 s(123)=6 s(123)=6

  • 完系与缩系:对于一个数 m m m,我们称一个集合 S S S 是完系,当且仅当 ∀ n ∈ Z , T = { x ∣ x ∈ S , n ≡ x ( m o d m ) } , ∣ T ∣ = 1 \forall n\in\mathbb{Z},T=\{x|x\in S,n\equiv x\pmod m\},|T|=1 nZ,T={ xxS,nx(modm)},T=1。我们称一个集合 S S S 是缩系,当且仅当 ∀ n ∈ Z , n ⊥ m , T = { x ∣ x ∈ S , n ≡ x ( m o d m ) } , ∣ T ∣ = 1 \forall n\in\mathbb{Z},n\bot m,T=\{x|x\in S,n\equiv x\pmod m\},|T|=1 nZ,nm,T={ xxS,nx(modm)},T=1

1. 常见定理

1-1. 费马小定理

先给出两个引理。

引理 1:当 p p p 是质数时,其因子只有 1 1 1 p p p 两个。因此,若两个数相乘是 p p p 的倍数,其中必然至少有一个是 p p p 的倍数。

引理 2:对于 a ∈ Z , p ∈ P , p ∤ a a\in \mathbb{Z},p\in \mathbb{P},p\nmid a aZ,pP,pa,则 ∀ i , j ∈ [ 1 , p ) , i ≠ j , a i ≢ a j ( m o d p ) \forall i,j\in [1,p),i\neq j,ai\not\equiv aj\pmod p i,j[1,p),i=j,aiaj(modp)

考虑反证,若 a i ≡ a j ( m o d p ) ai\equiv aj\pmod p aiaj(modp),则 a ( i − j ) ≡ 0 ( m o d p ) a(i-j)\equiv 0\pmod p a(ij)0(modp),与引理 1 矛盾。

引理二的另一表述为,对于 a ∈ Z , p ∈ P , p ∤ a a\in \mathbb{Z},p\in \mathbb{P},p\nmid a aZ,pP,pa ∀ i ∈ [ 1 , p ) , a i \forall i\in [1,p),ai i[1,p),ai 的取值互不相同且仍为 [ 1 , p ) [1,p) [1,p).

所以,对于 a ∈ Z , p ∈ P a\in \mathbb{Z},p\in \mathbb{P} aZ,pP,有 ∏ a i ≡ ∏ i ( m o d p ) \prod ai\equiv\prod i\pmod p aii(modp),所以 a p − 1 ≡ 1 ( m o d p ) a^{p-1}\equiv1\pmod p ap11(modp)。这就是费马小定理。

1-2. 欧拉定理

考虑将费马小定理推广到非素数的形式。首先我们试图将引理 1 推广到更一般的形式。

引理 1 拓展:若 a , b , p ∈ Z a,b,p\in \mathbb{Z} a,b,pZ p ∣ a b p \mid ab pab,则 a , b a,b a,b 至少有一个与 p p p 不互质。

我们设在 [ 1 , p ] [1,p] [1,p] 中有 x x x 个数与 p p p 互质,且构成的数字集合为 A = { a 1 , a 2 , . . . , a x } A=\{a_1,a_2,...,a_x\} A={ a1,a2,...,ax}。此时引理 2 可以被推广为

引理 2 拓展:对于 a , p ∈ Z , p ∤ a a,p\in \mathbb{Z},p\nmid a a,pZ,pa,则 ∀ i , j ∈ A , i ≠ j , a i ≢ a j ( m o d p ) \forall i,j\in A,i\neq j,ai\not\equiv aj\pmod p i,jA,i=j,aiaj(modp)

证明同上。对应的另一表述为,对于 a , p ∈ Z , p ∤ a a,p\in \mathbb{Z},p\nmid a a,pZ,pa ∀ i ∈ A , a i \forall i\in A,ai iA,ai 的取值互不相同且仍属于 A A A

那么此时仿照上文,有 ∏ a a i ≡ ∏ a i ( m o d p ) \prod aa_i\equiv\prod a_i\pmod p aaiai(modp),所以 a ∣ A ∣ ≡ 1 ( m o d p ) a^{|A|}\equiv1\pmod p aA1(modp)。其中 ∣ A ∣ |A| A A A A 集合的大小,我们用 φ ( x ) \varphi(x) φ(x) 表示对于数字 x x x 对应 A A A 集合的大小。 φ ( x ) \varphi(x) φ(x) 为欧拉函数。代入验证可知当 p p p 为质数时,此定理依然成立。

关于欧拉函数,详见 初等数学瞎扯Ⅲ:数论函数 1,这里不再瞎扯赘述。

1-3. 威尔逊定理

下文中,若无特殊说明,默认 p ∈ P p\in \mathbb{P} pP

1-3-1. 基本威尔逊定理

∏ i ∈ [ 1 , p ) i ≡ − 1 ( m o d p ) ⇔ p ∈ P \prod_{i\in[1,p)} i\equiv-1\pmod p\Leftrightarrow p\in \mathbb{P} i[1,p)i1(modp)pP

说人话, ( p − 1 ) ! ≡ − 1 ( m o d p ) (p-1)!\equiv -1\pmod p (p1)!1(modp)

为证明上式,先证明一个引理。

引理 1:若 x x x 在模 p p p 意义下逆元为 y y y,则 y y y 在模 p p p 意义下逆元为 x x x

证明:由已知, x y = 1 xy=1 xy=1,则 x − 1 ≡ y , y − 1 ≡ x x^{-1}\equiv y,y^{-1}\equiv x x1y,y1x

另外可以注意到,若 x ≠ 1 x\neq 1 x=1,则 x ≠ y x\neq y x=y

你可能会说,这么看来, ( p − 1 ) ! ≡ 1 ( m o d p ) (p-1)!\equiv1\pmod p (p1)!1(modp),但是对于 i = 1 i=1 i=1 其逆元为 1 1 1,也就是对于 p ≠ 2 p\neq 2 p=2,逆元两两配对后会剩下一个元素,考虑这个元素是谁,注意到逆元也是属于 [ 1 , p ) [1,p) [1,p) 的,也就是说,设元素为 x x x,有 x 2 ≡ 1 x^2\equiv 1 x21,解得 x = ± 1 = { 1 , p − 1 } x=\pm 1=\{1,p-1\} x=±1={ 1,p1}。所以 ( p − 1 ) ! ≡ p − 1 ≡ − 1 ( m o d p ) (p-1)!\equiv p-1\equiv -1\pmod p (p1)!p11(modp) p ≠ 2 p\neq 2 p=2 下成立。特别检验 p = 2 p=2 p=2 依然成立。

但这还没完,上面只说明了必要性,下面来证明充分性。考虑大力分讨。

  • x x x 为完全平方数且 x > 4 x>4 x>4,设 x = a 2 x=a^2 x=a2,则 a a a 2 a 2a 2a 存在与 ( x − 1 ) ! (x-1)! (x1)! 中,故 ( x − 1 ) ! ≡ 0 ( m o d x ) (x-1)!\equiv 0\pmod x (x1)!0(modx)
  • x x x 为合数且不是完全平方数,设 x = p q ( p , q > 1 ) x=pq(p,q>1) x=pq(p,q>1),则 p p p q q q 存在与 ( x − 1 ) ! (x-1)! (x1)! 中,故 ( x − 1 ) ! ≡ 0 ( m o d x ) (x-1)!\equiv 0\pmod x (x1)!0(modx)
  • x = 4 x=4 x=4 3 ! ≡ 2 ( m o d 4 ) 3!\equiv 2\pmod 4 3!2(mod4)

得证。

所以你如果想求一个数是不是 4,你可以大力计算阶乘然后判断取模后是不是 2。

1-3-2. 威尔逊定理扩展

我们考虑一种修正阶乘,记作 ( n ! ) p (n!)_p (n!)p,这表示 n n n 的阶乘中去掉所有含 p p p 的因子后的值。例如, ( 7 ! ) 2 = 1 × 1 × 3 × 1 × 5 × 3 × 5   m o d   2 (7!)_2=1\times1\times3\times1\times5\times3\times5\bmod2 (7!)2=1×1×3×1×5×3×5mod2,我们考虑该式子在模 p p p 意义下的值。我们先考虑素数幂次的取值,即 ( p k ! ) p (p^k!)_p (pk!)p

首先试图把原式展开

( p k ! ) = 1 × 2 × . . . × ( p − 1 ) × 1 × ( p + 1 ) × ( p + 2 ) × . . . × ( 2 p − 1 ) × 2 × . . . × 1 = 1 × 2 × . . . × ( p − 1 ) × 1 × 1 × 2 × . . . × ( p − 1 ) × 2 × 1 × 2 × . . . × ( p − 1 ) × 1 \begin{aligned} &(p^k!)\\ =&1\times 2\times...\times(p-1)\times1\\ \times&(p+1)\times (p+2)\times...\times(2p-1)\times2\\ \times& ...\times1\\ =&1\times 2\times...\times(p-1)\times1\\ \times&1\times 2\times...\times (p-1)\times2\\ \times&1\times 2\times...\times (p-1)\times1 \end{aligned} =××=××(pk!)1×2×...×(p1)×1(p+1)×(p+2)×...×(2p1)×2...×11×2×...×(p1)×11×2×...×(p1)×21×2×...×(p1)×1

然后用威尔逊定理的普通形式代入,得到原式变为

( − 1 ) p k − 1 × 1 × 2 × . . . (-1)^{p^{k-1}}\times1\times2\times... (1)pk1×1×2×...

注意到剩下的东西也是修正阶乘的形式,即为 ( p k − 1 ! ) p (p^{k-1}!)_p (pk1!)p,答案可以递归下去,得到如下结果

( − 1 ) p k ( k − 1 ) 2 (-1)^{p^{\frac{k(k-1)}{2}}} (1)p2k(k1)

那么对于任意正整数 n n n,只需要计算遗留下来的其他东西即可,注意到个数不会超过 p p p,所以时间复杂度是 O ( p ) O(p) O(p) 的,尽管这看起来没啥大用

1-3-3. 威尔逊定理的其它拓展

( p k ! ) p (p^k!)_p (pk!)p,在这里模数是 p k p^k pk

首先考虑 p > 2 p>2 p>2 的情况。仍去解方程 x 2 ≡ 1 ( m o d p k ) x^2\equiv 1\pmod {p^k} x21(modpk),得到 x = ± 1 x=\pm 1 x=±1,结果仍为 − 1 -1 1

考虑 p = 2 p=2 p=2,移项得 x 2 − 1 = ( x + 1 ) ( x − 1 ) ≡ 0 ( m o d 2 k ) x^2-1=(x+1)(x-1)\equiv 0\pmod {2^k} x21=(x+1)(x

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值