数论基础(一)
数学符号
整除 / 同余理论常见符号
- 整除符号:
,表示 整除 。 - 取模符号:
,表示 对 取模。 - 互质符号:
,表示 与 互质。 - 同余:
,表示 与 在模 意义下同余。 - 最大公约数:
,也可记作 。 - 最小公倍数:
,也可记作 。
数论函数常见符号
- 求和符号:
符号,表示满足特定条件的数的和。 - 求积符号:
符号,表示满足特定条件的数的积。
逻辑符号
- 合取:
, 表示 与 。 - 析取:
, 表示 或 。 - 否定:
, 表示 的否定。 - 蕴含:
, 表示 蕴含 ,即若 为真,则 为真。 - 等价:
, 表示 与 等价。 - 存在:
;任意: 。
集合符号
- 属于:
, 表示 为集合 中的元素。 - 不属于:
。 - 空集:
。 ,表示含元素 的集合。 ,表示 中使命题 为真的所有元素组成的集合。- 包含:
,表示 为 的子集。 - 真包含:
,表示 为 的真子集。 - 并集:
,表示 与 的并集。 - 交集:
,表示 与 的交集。 - 多个集合的并集:
表示集合 的并集。 - 多个集合的交集:
表示集合 的交集。
标准数集和区间符号
- 自然数集:
,表示所有自然数构成的集合,使用 来表示所有正整数。 - 整数集:
,表示所有整数构成的集合。 - 有理数集:
,表示所有有理数构成的集合。 - 实数集:
,表示所有实数构成的集合。 - 复数集:
,表示所有复数构成的集合。 - (正)素数集:
,表示所有(正)素数构成的集合。
关系符号
- 正比:
,表示 与 成正比。 - 远大于:
,表示 远大于 。 - 远小于:
,表示 远小于 。 - 无限大:
。 - 趋近:
,表示 趋近于 ,常用于极限表达式中。
其他常见符号
- 阶乘符号:
, 表示 。特别的, 。 - 向下取整符号:
,表示不超过 的最大整数。 - 向上取整符号:
,表示大于等于 的最大整数。 - 组合数:
,表示从 个数中选出 个数的方案数。 - 第一类斯特林数:
;第二类斯特林数: 。
整除
定义
设
性质
- 设
不为 ,则 - 设
不为 ,则
其他概念
因数(约数):若
平凡因数:对于整数
素数(质数):只有平凡因数作为因数的数称为素数。
通常而言,约数指的是正约数。
最大公约数与最小公倍数
定义
最大公约数,即为 Greatest Common Divisor,缩写为 gcd。一组整数的公约数,是指同时是这组数中每一个数的约数的数,而最大公约数是其中最大的一个。
最小公倍数,即为 Least Common Multiple,缩写为 lcm。定义可以参考 gcd。
求法
如何求出一组整数的最大公约数与最小公倍数呢?我们可以先从两个整数
具体而言,我们可以分两种情况讨论。假如
证明:
设
那么,我们该如何利用这个性质求出
不难写出这样的代码:
// 正常版本
int gcd(int a, int b) {
if (b == 0) return a;
else return gcd(b, a % b);
}
// 三位运算符版本
int gcd(a, b) { return b ? gcd(b, a % b) : a; }
那么,要求一组数的最大公约数,我们可以先求出前两个数的最大公约数,再求这个数与第三个数的最大公约数,以此类推即可。
那么 lcm 呢?我们可以用到这样一个性质:
证明:
令
那么,我们只需要类比上面的思路,求出最大公约数之后再求出最小公倍数即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】