数论进阶-Preknowledge
参考资料:洛谷网校2018夏季省选基础班SX-3数论进阶课程及课件
一、整除与取整除法
1.1 定义
1、整除
∀ x,y ∈ Z+, 若 ∃ k , s.t. y = kx,则称 y 是 x 的倍数,x 整除 y。记做 x | y
2、取整
∀ x ∈ Q,⌊x⌋ 代表不大于 x 的最大整数,⌈x⌉ 代表不小于 x 的最大整数。
3、取整除法
∀ x,y ∈ Z,⌊yx⌋ 代表 y 关于 x 的带余除法表达式中 x 一项的系数
1.2 性质
1、取整除法引理 (1.2.1)
∀ x,y ∈ Z,⌊yx⌋ × x ≤ y
证明:
根据取整除法的定义易得
⌊yx⌋ ≤ yx
等式两侧同乘 x 得
⌊yx⌋ × x ≤ yx × x = y
证毕
2、倍数个数定理 (1.2.2)
∀ n,d ∈ Z+,在 [1,n] 中,共有 ⌊nd⌋ 个数是 d 的倍数
证明:
将 d 的倍数从小到大排序,分别为 x1 , x2 ,… xk,则显然 xi = i × d。于是其中最大的数字 xk = k × d。
若 k < ⌊nd⌋,设 k′ = ⌊dn⌋ 根据引理 1.2.1,d × k′ ≤ n 且 k × d < k′ × d,这与 xk 是最大的数字矛盾
若 k > ⌊nd⌋,根据引理 1.2.1,d × k > n,不合要求
于是 k = ⌊nd⌋。
证毕
3、商的个数定理 (1.2.3)
∀ n ∈ Z+,则 d ∈ [1,n] 时 ⌊nd⌋ 的取值共有 O(√n) 种
证明:
分两种情况,当 d ≤ √n 时,d 共有 O(√n) 种取值
因为对于 n 的一个因数 x,必然能找到一个数 y 使得 x × y = n,这样的 x,y 是一一对应的,故而对于每个大于 √n 的因数 x,必然存在一个 y ,s.t. x × y = n。
因为 y > √n,所以 x < √n。这样的 x 共有 O(√n) 种,由一一对应关系, y 也有 O(√n) 种。于是总的取值共有 O(√n) 种。
证毕
4、例题
Description
给出一个 n,求 ∑ni=1 ⌊ni⌋。n ≤ 1012
Solution
既然商只有 O(√n) 个,于是考虑直接枚举商。考虑枚举商等价于对每个商 j 枚举每一个最小的 i 使得 j = ⌊ni⌋。考虑最大的满足上式的 k,则 k = ⌊nj⌋。将在下方给出证明。则商为 j 时最答案的贡献是 (k − i + 1) × j。最小的 i 显然为 1,如果求出了最大的 k,则对应下一个商的 i 显然为 k + 1。根据定理 1.2.3,时间复杂度 O(√n)。
下面证明最大的 k 使得 j = ⌊nk⌋ 的值为 ⌊nj⌋:
考虑当 k , j ∈ Q 时,j = nk 的图像是一个反比例函数。当等号右侧改成取整后,相当于所有的 j 都向下移到了最靠近的纵坐标为整数的点上。于是 k × j ≤ n。则 k ≤ ⌊nj⌋。最大的 k 显然是 ⌊nj⌋
证毕。
二、同余
2.1 定义
∀ x,y,p ∈ Z+, 若 x mod p = y mod p,则称 x,y 在 模 p 域下同余,记为 x ≡ y (modp)
2.2 性质
同余式支持同余号两侧同加、减、乘。同时具有对称性,自反性,传递性。
x ≡ y (modp) 的另一表达是 p | (x−y)。(不妨设x ≥ y)
三、剩余系
3.1 完全剩余系
对于一个正整数 n,模 n 意义下的完全剩余系为正整数集全体对 n 取模的结果的集合,记为 Zn
一般的,Zn = {0 , 1 , 2 , … ,n − 1}
3.2 简化剩余系
对于一个正整数 n,模 n 意义下的简化剩余系为模 n 意义下的完全剩余系中与 n 互质的元素的集合,记为 Z∗n
于是我们得到了欧拉函数的另一种表示:ϕ(n) = |Z∗n|
四、逆元
定义略
4.1逆元存在的定理(4.1.1)
a 在 模 n 意义下存在逆元当且仅当 a ⊥ n,我们约定数论中 a ⊥ b 意为 a 和 b 互质
证明:
设 ax ≡ 1 (modn) 。本式可以写成 ax mod n = 1假设 a 和 n 有共同因子 p (p > 1) ,则一定有 p | (ax mod n)。又因为 p > 1,ax mod n = 1,产生矛盾。于是一定是一定满足 a ⊥ b。
证毕
五、模意义下的幂次
5.1 次方同余一的存在性(5.1.1)
∀ a,n ∈ Z+ ,s.t a | n,则一定 ∃ k > 0 , s.t. ak ≡ 1 (modn)
证明:
由 a | n,得 ∀ k ∈ Z+,(ak mod n) ∈ Z∗n。由于有无穷多个 ak,且 Z∗n 大小有限,于是一定存在 i > j ∧ ai ≡ aj (modn)。两侧同乘 aj 的逆元,则 ai−j ≡ 1 (modn)。
证毕
5.2 阶的定义
∀ a,n ∈ Z+, s.t. a | n,定义满足 ak ≡ 1(modn) 的最小正整数 k 为 a 在 模 n 意义下的阶,记为 <a>。
5.3 阶的性质
在模 n 意义下一定有 <a> | ϕ(n)。其中 ϕ 代表欧拉函数
证明:
反证法,假设 <a> ∤ ϕ(n) 。根据欧拉定理,有 aϕ(n) ≡ 1 (modn) 。根据阶的定义,有 a<a> ≡ 1 (modn)。于是显然有 aϕ(n)mod<a> ≡ 1 (modn) 且 ϕ(n) mod <a> ≠ 0。根据带余除法, ϕ(n) mod <a> < <a>。这与 <a> 是最小的满足 ak ≡ 1 (modn) 的整数 k 矛盾。
证毕。
5.4 原根
若 <a> = ϕ(n),则称 a 是 n 的原根。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具