基础数论总结

基础数论总结


一、整除

定义 :若存在整数 k k k 使 b=ak b=ak b=ak,则称 a a a 整除 b b b,记作 a∣b a\mid b a∣b。

核心性质

  • 传递性:a∣b, b∣c⇒a∣c a\mid b,\ b\mid c \Rightarrow a\mid c a∣b, b∣c⇒a∣c
  • 线性组合性:a∣b, a∣c⇒a∣(bx+cy) a\mid b,\ a\mid c \Rightarrow a\mid (bx+cy) a∣b, a∣c⇒a∣(bx+cy) 对任意整数 x,y x,y x,y 成立
  • 互推性:a∣b a\mid b a∣b 且 b∣a⇒∣a∣=∣b∣ b\mid a \Rightarrow |a|=|b| b∣a⇒∣a∣=∣b∣
  • a∣b a\mid b a∣b 且 a∣c a\mid c a∣c 则 a a a 整除它们的和、差及任意整数线性组合

二、辗转相除法(欧几里得算法)

核心定理

gcd⁡(a,b)=gcd⁡(b,a mod b) \gcd(a,b)=\gcd(b,a\bmod b) gcd(a,b)=gcd(b,amodb)

算法思想:反复用较小数除较大数取余,直到余数为 0,此时除数即为最大公约数。

关键性质

  • 能同时整除 a a a 和 b b b 的最大整数
  • 可反向回代得到 ax+by=gcd⁡(a,b) ax+by=\gcd(a,b) ax+by=gcd(a,b) 的整数解(扩展欧几里得)

三、埃氏筛

核心思想:从 2 开始,依次将每个素数的所有倍数标记为合数。

执行步骤

  1. 列出 2 到 n n n 的所有数
  2. 从 2 开始,若当前数未被标记,则为素数
  3. 将其所有大于等于自身平方的倍数标记为合数
  4. 重复直到达到 n \sqrt{n} n

复杂度 :O(nlog⁡log⁡n) O(n\log\log n) O(nloglogn),接近线性

要点 :从 p2 p^2 p2 开始标记,因为 p p p 的较小倍数已被更小素数标记过


四、欧拉筛(线性筛)

核心思想 :每个合数只被其最小质因子 标记一次,实现严格线性复杂度 O(n) O(n) O(n)。

关键机制

  • 维护素数列表
  • 遍历每个数 i i i,用已有素数 p p p 标记 i⋅p i\cdot p i⋅p
  • 当 p p p 整除 i i i 时停止本轮标记
  • 这一规则确保每个合数仅被其最小质因子乘上某个因数的方式标记一次

五、组合数

定义

(nk)=n!k!(n−k)! \binom{n}{k}=\frac{n!}{k!(n-k)!} (kn)=k!(n−k)!n!

表示从 n n n 个不同元素中选取 k k k 个的组合方式总数。

基本性质

  • 对称性:(nk)=(nn−k) \binom{n}{k}=\binom{n}{n-k} (kn)=(n−kn)
  • 边界值:(n0)=(nn)=1 \binom{n}{0}=\binom{n}{n}=1 (0n)=(nn)=1
  • (n1)=n \binom{n}{1}=n (1n)=n
  • 要求 0≤k≤n 0\le k\le n 0≤k≤n,超出范围定义为 0

六、帕斯卡恒等式

(nk)=(n−1k−1)+(n−1k) \boxed{\binom{n}{k}=\binom{n-1}{k-1}+\binom{n-1}{k}} (kn)=(k−1n−1)+(kn−1)

组合意义(分情况讨论):

  • 考虑集合中的某一个特定元素
  • 若选取它:还需从剩余 n−1 n-1 n−1 个中选 k−1 k-1 k−1 个,方案数 (n−1k−1) \binom{n-1}{k-1} (k−1n−1)
  • 若不选它:需从剩余 n−1 n-1 n−1 个中选 k k k 个,方案数 (n−1k) \binom{n-1}{k} (kn−1)
  • 两类互斥且覆盖全部情况

七、二项式系数和公式

∑k=0n(nk)=2n \boxed{\sum_{k=0}^{n}\binom{n}{k}=2^n} k=0∑n(kn)=2n


体系关联图

工具 核心功能
整除 定义倍数与因子关系
辗转相除 求最大公约数
埃氏筛/欧拉筛 生成素数表
组合数 计数选取方式
帕斯卡恒等式 组合数递推关系
二项式系数和 全子集计数
相关推荐
hsjiasb3 小时前
FreeRTOS学习(三十七)——常见错误与工程规范
学习·学习笔记·freertos
夜不会漫长3 小时前
C++入门(1)
开发语言·c++·算法
小席是个热心肠3 小时前
Redis的自我学习
数据库·redis·学习
wen_zhufeng3 小时前
IndexTTS 2.5 技术报告
人工智能·算法·机器学习
zyf1044164 小时前
暑期实践日志 Day33:完成全部字幕添加,工作基本收尾
学习·计算机网络·剪辑·暑期实践·课题任务
@Mike@4 小时前
09-数据库学习笔记(数据库索引与过滤器)
数据库·笔记
大熊背4 小时前
树莓派相机自动白平衡详解(四)
算法·树莓派·白平衡·isppipeline
一米阳光86614 小时前
软考(中级)软件设计师核心笔记(9)算法——背包问题
笔记·算法·职场发展·软考·软件设计师·中级职称
晚风醉蝶4 小时前
1-11-奇偶排序-OddEvenSort
java·数据结构·算法