数论之基础

本文对于数论的开头部分做一个简介。

符号

整除/同余理论常见符号

  1. 整除符号:x|y,表示x 整除y,即xy 的因数。
  2. 取模符号:xmody,表示x 除以y得到的余数。
  3. 互质符号:xy,表示x,y 互质。
  4. 最大公约数:gcd(x,y),在无混淆意义的时侯可以写作(x,y)
  5. 最小公倍数:lcm(x,y),在无混淆意义的时侯可以写作[x,y]

数论函数常见符号

​ 求和符号:符号,表示满足特定条件的数的和。举几个例子:
i=1ni表示1+2+...+n的和。其中i是一个变量,在求和符号的意义下i通常是正整数或者非负整数(除非特殊说明)。这个式子的含义可以理解为,i1循环到n,所有i的和。这个式子用代码的形式很容易表达。当然,学过简单的组合数学的同学都知道i=1ni=n(n+1)2
ST|S|表示所有被T包含的集合的大小的和。
pn,pn1 表示的是n以内有多少个与n互质的数,即φ(n)φ 是欧拉函数。

​ 求积符号:符号,表示满足特定条件的数的积。举几个例子:
i=1ni表示n的阶乘,即n!。在组合数学常见符号中会讲到。
i=1nai表示a1×a2×a3×...×an
x|dx表示d的所有因数的乘积。
​ 在行间公式中,求和符号与求积符号的上下条件会放到符号的上面和下面,这一点要注意。

其他常见符号

  1. 阶乘符号!n!表示1×2×3×...×n。特别地,0!=1
  2. 向下取整符号:x,表示小于等于x的最大的整数。常用于分数,比如分数的向下取整xy
  3. 向上取整符号:x,与向下取整符号相对,表示大于等于x的最小的整数。

整除

整除的定义: 设 𝑎, 𝑏 ∈ Z,𝑎 ≠ 0。如果 ∃𝑞 ∈ Z,使得 𝑏 = 𝑎𝑞,那么就说 𝑏 可被 𝑎 整除,记作 𝑎 ∣ 𝑏,且称 𝑏 是 𝑎 的倍数,𝑎 是 𝑏 的约数(因数)。

​ 𝑏 不被 𝑎 整除记作 𝑎 ∤ 𝑏。

整除的性质:

• 𝑎 ∣ 𝑏 ⟺ −𝑎 ∣ 𝑏 ⟺ 𝑎 ∣ −𝑏 ⟺ |𝑎| ∣ |𝑏|

• 𝑎 ∣ 𝑏 ∧ 𝑏 ∣ 𝑐 ⟹ 𝑎 ∣ 𝑐

• 𝑎 ∣ 𝑏 ∧ 𝑎 ∣ 𝑐 ⟺ ∀𝑥, 𝑦 ∈ Z, 𝑎 ∣ (𝑥𝑏 + 𝑦𝑐)

• 𝑎 ∣ 𝑏 ∧ 𝑏 ∣ 𝑎 ⟹ 𝑏 = ±𝑎

• 设 𝑚 ≠ 0,那么 𝑎 ∣ 𝑏 ⟺ 𝑚𝑎 ∣ 𝑚𝑏。

• 设 𝑏 ≠ 0,那么 𝑎 ∣ 𝑏 ⟹ |𝑎| ≤ |𝑏|。

• 设 𝑎 ≠ 0, 𝑏 = 𝑞𝑎 + 𝑐,那么 𝑎 ∣ 𝑏 ⟺ 𝑎 ∣ 𝑐。

0 是所有非 0 整数的倍数。对于整数 𝑏 ≠ 0,𝑏 的约数只有有限个。

显然约数(显然因数):对于整数 𝑏 ≠ 0,±1、±𝑏 是 𝑏 的显然约数。当 𝑏 = ±1 时,𝑏 只有两个显然约数。

对于整数 𝑏 ≠ 0,𝑏 的其他约数称为真约数(真因数、非显然约数、非显然因数)。

约数的性质:

• 设整数 𝑏 ≠ 0。当 𝑑 遍历 𝑏 的全体约数的时候, bd也遍历 𝑏 的全体约数。

• 设整数 𝑏 > 0,则当 𝑑 遍历 𝑏 的全体正约数的时候, bd也遍历 𝑏 的全体正约数。

带余数除法

余数的定义: 设 𝑎, 𝑏 为两个给定的整数,𝑎 ≠ 0。设 𝑑 是一个给定的整数。那么,一定存在唯一的一对整数 𝑞 和 𝑟,满足 𝑏 = 𝑞𝑎 + 𝑟, 𝑑 ≤ 𝑟 < |𝑎| + 𝑑。

​ 无论整数 𝑑 取何值,𝑟 统称为余数。𝑎 ∣ 𝑏 等价于 𝑎 ∣ 𝑟。

​ 一般情况下,𝑑 取 0,此时等式 𝑏 = 𝑞𝑎 + 𝑟, 0 ≤ 𝑟 < |𝑎| 称为带余数除法(带余除法)。这里的余数 𝑟 称为最小非负余数。

​ 余数往往还有两种常见取法:

​ 绝对最小余数:𝑑 取 𝑎 的绝对值的一半的相反数。即b=qa+r,|a|2r<|a||a|2

​ 最小正余数:𝑑 取 1。即 𝑏 = 𝑞𝑎 + 𝑟, 1 ≤ 𝑟 < |𝑎| + 1。

​ 带余数除法的余数只有最小非负余数。如果没有特别说明,余数总是指最小非负余数。

余数的性质:

• 任一整数被正整数 𝑎 除后,余数一定是且仅是 0 到 (𝑎 − 1) 这 𝑎 个数中的一个。

• 相邻的 𝑎 个整数被正整数 𝑎 除后,恰好取到上述 𝑎 个余数。特别地,一定有且仅有一个数被 𝑎 整除。

最大公约数与最小公倍数

关于公约数、公倍数、最大公约数与最小公倍数,四个名词的定义,这里暂时不赘述,详情可参见别的博客。

互素

​ 两个整数互素(既约)的定义:若 gcd(𝑎1 , 𝑎2 ) = 1,则称 𝑎1 和 𝑎2 互素(既约)。

​ 多个整数互素(既约)的定义:若 gcd(𝑎1 , … , 𝑎𝑘 ) = 1,则称 𝑎1 , … , 𝑎𝑘 互素(既约)。

​ 多个整数互素,不一定两两互素。例如 6、10 和 15 互素,但是任意两个都不互素。

​ 互素的性质与最大公约数理论:裴蜀定理(Bézout’s identity)。见 裴蜀定理

辗转相除法

​ 辗转相除法是一种算法,也称 Euclid 算法。

int gcd(int a, int b)
{
return b == 0 ? a : gcd(b, a%b);
}

素数与合数

设整数 𝑝 ≠ 0, ±1。如果 𝑝 除了显然约数外没有其他约数,那么称 𝑝 为素数(不可约数)。

若整数 𝑎 ≠ 0, ±1 且 𝑎 不是素数,则称 𝑎 为合数。

𝑝 和 −𝑝 总是同为素数或者同为合数。如果没有特别说明,素数总是指正的素数。

整数的因数是素数,则该素数称为该整数的素因数(素约数)。

素数与合数的简单性质:

• 大于 1 的整数 𝑎 是合数,等价于 𝑎 可以表示为整数 𝑑 和 𝑒(1 < 𝑑, 𝑒 < 𝑎)的乘积。

• 如果素数 𝑝 有大于 1 的约数 𝑑,那么 𝑑 = 𝑝。

• 大于 1 的整数 𝑎 一定可以表示为素数的乘积。

• 对于合数 𝑎,一定存在素数 𝑝 ≤ √𝑎 使得 𝑝 ∣ 𝑎。

• 素数有无穷多个。

• 所有大于 3 的素数都可以表示为 6𝑛 ± 1 的形式。

算术基本定理

算术基本引理:

​ 设 𝑝 是素数,p|a1a2,那么p|a1p|a2至少有一个成立。

​ 算术基本引理是素数的本质属性,也是素数的真正定义。

​ 上文给出的素数定义,事实上叫做不可约数,素数是不可约数的子集。在一些整环中,不可约数和素数是两个不同的集合,在两集合不相等的整环中,算术基本定理不成立。由于整数范围内两个集合完全一致,因此可以不做区分。

算术基本定理(唯一分解定理):

​ 设正整数 𝑎,那么必有表示:

a=p1p2...ps

其中pj(1js)是素数。并且在不计次序的意义下,该表示唯一。

标准素因数分解式:

将上述表示中,相同的素数合并,可得:

a=p1a1p2a2...psas,p1<p2<...<ps

称为正整数 𝑎 的标准素因数分解式。

算术基本定理和算术基本引理,两个定理是等价的。

同余

​ 同余的定义:设整数 𝑚 ≠ 0。若 𝑚 ∣ (𝑎 − 𝑏),称 𝑚 为模数(模),𝑎 同余于 𝑏 模 𝑚,𝑏 是 𝑎 对模 𝑚 的剩余。记作ab(modm)

​ 否则,𝑎 不同余于 𝑏 模 𝑚,𝑏 不是 𝑎 对模 𝑚 的剩余。记作 ab(modm)

​ 这样的等式,称为模 𝑚 的同余式,简称同余式。

​ 根据整除的性质,上述同余式也等价于ab(mod(m)).

如果没有特别说明,模数总是正整数。

​ 式中的 𝑏 是 𝑎 对模 𝑚 的剩余,这个概念与余数完全一致。通过限定 𝑏 的范围,相应的有 𝑎 对模 𝑚 的最小非负剩余、绝对最小剩余、最小正剩余。

同余的性质:

• 自反性: aa(modm)

• 对称性:若 ab(modm),则 ba(modm)

• 传递性:若 ab(modm), bc(modm),则 ac(modm)

• 线性运算:若 𝑎, 𝑏, 𝑐, 𝑑 ∈ Z, 𝑚 ∈ N∗ , ab(modm), cd(modm) 则有:

a±cb±d(modm)

a×cb×d(modm)

• 若 𝑎, 𝑏 ∈ Z, 𝑘, 𝑚 ∈ N∗ , ab(modm), 则 akbk(modmk)

• 若 𝑎, 𝑏 ∈ Z, 𝑑, 𝑚 ∈ N∗ , 𝑑 ∣ 𝑎, 𝑑 ∣ 𝑏, 𝑑 ∣ 𝑚,则当ab(modm)成立时,有adbd(modmd)

• 若 𝑎, 𝑏 ∈ Z, 𝑑, 𝑚 ∈ N∗ , 𝑑 ∣ 𝑚,则当ab(modm) 成立时,有ab(modd)

• 若 𝑎, 𝑏 ∈ Z, 𝑑, 𝑚 ∈ N∗,则当ab(modm)成立时,有gcd(a,m)=gcd(b,m)。若 𝑑 能整除 𝑚 及 𝑎, 𝑏 中的一个,则 𝑑 必定能整除 𝑎, 𝑏 中的另一个。

还有性质是乘法逆元

C/C++ 的整数除法和取模运算

​ 在 C/C++ 中,整数除法和取模运算,与数学上习惯的取模和除法不一致。

​ 对于所有标准版本的 C/C++,规定在整数除法中:

  1. 当除数为 0 时,行为未定义;

  2. 否则 (ab)b+a 的运算结果与 a 相等。

也就是说,取模运算的符号取决于除法如何取整;而除法如何取整,这是实现定义的(由编译器决定)。

C99 C++11 标准版本起,规定商向零取整(舍弃小数部分);取模的符号即与被除数相同。从此以下运算结果保证为真:

5 % 3 == 2;

5 % -3 == 2;

-5 % 3 == -2;

-5 % -3 == -2.

数论函数

数论函数指定义域为正整数的函数。数论函数也可以视作一个数列。

积性函数

定义

​ 若函数f(n)满足f(1)=1 且 ∀𝑥, 𝑦 ∈ N∗, gcd(x,y)=1 都有f(xy)=f(x)f(y),则f(n)为积性函数。

​ 若函数f(n)满足f(1)=1且 ∀𝑥, 𝑦 ∈ N∗ 都有f(xy)=f(x)f(y),则f(n)为完全积性函数。

性质

若 𝑓(𝑥) 和 𝑔(𝑥) 均为积性函数,则以下函数也为积性函数:

h(x)=f(xp)h(x)=fp(x)h(x)=f(x)g(x)h(x)=d|xf(d)g(xd)

x=piki

F(x)为积性函数,则有F(x)=F(piki)

F(x)为完全积性函数,则有F(x)=F(pi)ki

例子

• 单位函数:ϵ(n)=[n=1]。(完全积性)

• 恒等函数:idk(n)=nkid1(n)通常简记作di(n)。(完全积性)

• 常数函数:1(n)=1。(完全积性)

• 除数函数:σk(n)=d|ndkσ0(n)通常简记作d(n)τ(n)σ1(n)通常简记作σ(n)

• 欧拉函数:φ(n)=i=1n[gcd(i,n)==1]

• 莫比乌斯函数:μ(n)={1n=10d>1,d2|n,(1)w(n)otherwise 其中 𝜔(𝑛) 表示 𝑛 的本质不同质因子个数,它是一个加性函数。

posted @   HuParry  阅读(775)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示