跳到主要内容

数论基础

整除

a,bZa,b\in\mathbf{Z}a0a\ne 0。如果 qZ\exists q\in\mathbf{Z},使得 b=aqb=aq,那么就说 bb 可被 aa 整除,记作 aba\mid bbb 不被 aa 整除记作 aba\nmid b

整除的性质:

  • ab    ab    ab    aba\mid b\iff-a\mid b\iff a\mid-b\iff|a|\mid|b|
  • abbc    aca\mid b\land b\mid c\implies a\mid c
  • abac    x,yZ,a(xb+yc)a\mid b\land a\mid c\iff\forall x,y\in\mathbf{Z}, a\mid(xb+yc)
  • abba    b=±aa\mid b\land b\mid a\implies b=\pm a
  • m0m\ne0,那么 ab    mamba\mid b\iff ma\mid mb
  • b0b\ne0,那么 ab    aba\mid b\implies|a|\le|b|
  • a0,b=qa+ca\ne0,b=qa+c,那么 ab    aca\mid b\iff a\mid c

约数

aba\mid b,则称 bbaa倍数aabb约数

00 是所有非 00 整数的倍数。对于整数 b0b\ne0bb 的约数只有有限个。

平凡约数(平凡因数):对于整数 b0b\ne0±1\pm1±b\pm bbb 的平凡约数。当 b=±1b=\pm1 时,bb 只有两个平凡约数。

对于整数 b0b\ne 0bb 的其他约数称为真约数(真因数、非平凡约数、非平凡因数)。

约数的性质:

  • 设整数 b0b\ne0。当 dd 遍历 bb 的全体约数的时候,bd\dfrac{b}{d} 也遍历 bb 的全体约数。
  • 设整数 b>0b\gt 0,则当 dd 遍历 bb 的全体正约数的时候,bd\dfrac{b}{d} 也遍历 bb 的全体正约数。

在具体问题中,如果没有特别说明,约数总是指正约数。

带余数除法

a,ba,b 为两个给定的整数,a0a\ne0。设 dd 是一个给定的整数。那么,一定存在唯一的一对整数 qqrr,满足 b=qa+r,dr<a+db=qa+r,d\le r<|a|+d

无论整数 dd 取何值,rr 统称为余数。aba\mid b 等价于 ara\mid r

一般情况下,dd00,此时等式 b=qa+r,0r<ab=qa+r,0\le r<|a| 称为带余数除法(带余除法)。这里的余数 rr 称为最小非负余数。

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

  • 绝对最小余数:ddaa 的绝对值的一半的相反数。即 b=qa+r,a2r<aa2b=qa+r,-\dfrac{|a|}{2}\le r<|a|-\dfrac{|a|}{2}
  • 最小正余数:dd11。即 b=qa+r,1r<a+1b=qa+r,1\le r<|a|+1

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

余数的性质:

  • 任一整数被正整数 aa 除后,余数一定是且仅是 00(a1)(a-1)aa 个数中的一个。
  • 相邻的 aa 个整数被正整数 aa 除后,恰好取到上述 aa 个余数。特别地,一定有且仅有一个数被 aa 整除。

最大公约数与最小公倍数

一些作者认为 0000 的最大公约数无定义,其余作者一般将其视为 00。C++ STL 的实现中采用后者,即认为 0000 的最大公约数为 001

最大公约数有如下性质:

  • (a1,,an)=(a1,,an)(a_1,\dots,a_n)=(|a_1|,\dots,|a_n|)
  • (a,b)=(b,a)(a,b)=(b,a)
  • a0a\ne 0,则 (a,0)=(a,a)=a(a,0)=(a,a)=|a|
  • (bq+r,b)=(r,b)(bq+r,b)=(r,b)
  • (a1,,an)=((a1,a2),a3,,an)(a_1,\dots,a_n)=((a_1,a_2),a_3,\dots,a_n)。进而 1<k<n1, (a1,,an)=((a1,,ak),(ak+1,,an))\forall 1<k<n-1,~(a_1,\dots,a_n)=((a_1,\dots,a_k),(a_{k+1},\dots,a_n))
  • 对不全为 00 的整数 a1,,ana_1,\dots,a_n 和非零整数 mm(ma1,,man)=m(a1,,an)(ma_1,\dots,ma_n)=|m|(a_1,\dots,a_n)
  • 对不全为 00 的整数 a1,,ana_1,\dots,a_n,若 (a1,,an)=d(a_1,\dots,a_n)=d,则 (a1/d,,an/d)=1(a_1/d,\dots,a_n/d)=1
  • (an,bn)=(a,b)n(a^n,b^n)=(a,b)^n

最大公约数还有如下与互素相关的性质:

  • bacb|ac(a,b)=1(a,b)=1,则 bcb\mid c
  • bcb|caca|c(a,b)=1(a,b)=1,则 abcab\mid c
  • (a,b)=1(a,b)=1,则 (a,bc)=(a,c)(a,bc)=(a,c)
  • (ai,bj)=1, 1in,1jm(a_i,b_j)=1,~\forall 1\leq i\leq n,1\leq j\leq m,则 (iai,jbj)=1\left(\prod_i a_i,\prod_j b_j\right)=1。特别地,若 (a,b)=1(a,b)=1,则 (an,bm)=1(a^n,b^m)=1
  • 对整数 a1,,ana_1,\dots,a_n,若 vZ, iai=vm\exists v\in \mathbf{Z},~\prod_i a_i=v^m,且 (ai,aj)=1, ij(a_i,a_j)=1,~\forall i\ne j,则 1in, aimZ\forall 1\leq i\leq n,~\sqrt[m]{a_i}\in\mathbf{Z}

最小公倍数有如下性质:

  • [a1,,an]=[a1,,an][a_1,\dots,a_n]=[|a_1|,\dots,|a_n|]
  • [a,b]=[b,a][a,b]=[b,a]
  • a0a\ne 0,则 [a,1]=[a,a]=a[a,1]=[a,a]=|a|
  • aba\mid b,则 [a,b]=b[a,b]=|b|
  • [a1,,an]=[[a1,a2],a3,,an][a_1,\dots,a_n]=[[a_1,a_2],a_3,\dots,a_n]。进而 1<k<n1, [a1,,an]=[[a1,,ak],[ak+1,,an]]\forall 1<k<n-1,~[a_1,\dots,a_n]=[[a_1,\dots,a_k],[a_{k+1},\dots,a_n]]
  • aim, 1ina_i\mid m,~\forall 1\leq i\leq n,则 [a1,,an]m[a_1,\dots,a_n]\mid m
  • [ma1,,man]=m[a1,,an][ma_1,\dots,ma_n]=|m|[a_1,\dots,a_n]
  • [a,b,c][ab,bc,ca]=[a,b][b,c][c,a][a,b,c][ab,bc,ca]=[a,b][b,c][c,a]
  • [an,bn]=[a,b]n[a^n,b^n]=[a,b]^n

最大公约数和最小公倍数可以组合出很多奇妙的等式,如:

  • (a,b)[a,b]=ab(a,b)[a,b]=|ab|
  • (ab,bc,ca)[a,b,c]=abc(ab,bc,ca)[a,b,c]=|abc|
  • (a,b,c)2(a,b)(b,c)(a,c)=[a,b,c]2[a,b][b,c][a,c]\dfrac{(a,b,c)^2}{(a,b)(b,c)(a,c)}=\dfrac{[a,b,c]^2}{[a,b][b,c][a,c]}

这些性质均可通过定义或 唯一分解定理 证明,其中使用唯一分解定理的证明更容易理解。

互素

(a1,a2)=1(a_1,a_2)=1,则称 a1a_1a2a_2 互素既约)。

(a1,,ak)=1(a_1,\ldots,a_k)=1,则称 a1,,aka_1,\ldots,a_k 互素既约)。

多个整数互素,不一定两两互素。例如 6610101515 互素,但是任意两个都不互素。

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

辗转相除法

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

素数与合数

设整数 p0,±1p\ne0,\pm1。如果 pp 除了平凡约数外没有其他约数,那么称 pp素数不可约数)。

若整数 a0,±1a\ne0,\pm 1aa 不是素数,则称 aa合数

ppp-p 总是同为素数或者同为合数。如果没有特别说明,素数总是指正的素数。

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

素数与合数的简单性质:

  • 大于 11 的整数 aa 是合数,等价于 aa 可以表示为整数 ddee1<d,e<a1<d,e<a)的乘积。
  • 如果素数 pp 有大于 11 的约数 dd,那么 d=pd=p
  • 大于 11 的整数 aa 一定可以表示为素数的乘积。
  • 对于合数 aa,一定存在素数 pap\le\sqrt{a} 使得 pap\mid a
  • 素数有无穷多个。
  • 所有大于 33 的素数都可以表示为 6n±16n\pm 1 的形式2

算术基本定理

pp 是素数,pa1a2p\mid a_1a_2,那么 pa1p\mid a_1pa2p\mid a_2 至少有一个成立。

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

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

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

a=p1p2psa=p_1p_2\cdots p_s

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

标准素因数分解式

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

a=p1α1p2α2psαs,p1<p2<<psa={p_1}^{\alpha_1}{p_2}^{\alpha_2}\cdots{p_s}^{\alpha_s},p_1<p_2<\cdots<p_s

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

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

同余

设整数 m0m\ne0。若 m(ab)m\mid(a-b),称 mm模数),aa 同余于 bbmmbbaa 对模 mm剩余。记作 ab(modm)a\equiv b\pmod m

否则,aa 不同余于 bbmmbb 不是 aa 对模 mm 的剩余。记作 a≢b(modm)a\not\equiv b\pmod m

这样的等式,称为模 mm 的同余式,简称 同余式

根据整除的性质,上述同余式也等价于 ab(mod(m))a\equiv b\pmod{(-m)}

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

式中的 bbaa 对模 mm 的剩余,这个概念与余数完全一致。通过限定 bb 的范围,相应的有 aa 对模 mm 的最小非负剩余、绝对最小剩余、最小正剩余。

同余的性质:

  • 同余是等价关系,即同余具有
    • 自反性:aa(modm)a\equiv a\pmod m
    • 对称性:若 ab(modm)a\equiv b\pmod m,则 ba(modm)b\equiv a\pmod m
    • 传递性:若 ab(modm),bc(modm)a\equiv b\pmod m,b\equiv c\pmod m,则 ac(modm)a\equiv c\pmod m
  • 线性运算:若 a,b,c,dZ,mN,ab(modm),cd(modm)a,b,c,d\in\mathbf{Z},m\in\mathbf{N}^*,a\equiv b\pmod m,c\equiv d\pmod m 则有:
    • a±cb±d(modm)a\pm c\equiv b\pm d\pmod m
    • a×cb×d(modm)a\times c\equiv b\times d\pmod m
  • f(x)=i=0naixif(x)=\sum_{i=0}^n a_ix^ig(x)=i=0nbixig(x)=\sum_{i=0}^n b_ix^i 是两个整系数多项式,mNm\in\mathbf{N}^*,且 aibi(modm), 0ina_i\equiv b_i\pmod m,~0\leq i\leq n,则对任意整数 xx 均有 f(x)g(x)(modm)f(x)\equiv g(x)\pmod m。进而若 st(modm)s\equiv t\pmod m,则 f(s)g(t)(modm)f(s)\equiv g(t)\pmod m
  • a,bZ,k,mN,ab(modm)a,b\in\mathbf{Z},k,m\in\mathbf{N}^*,a\equiv b\pmod m, 则 akbk(modmk)ak\equiv bk\pmod{mk}
  • a,bZ,d,mN,da,db,dma,b\in\mathbf{Z},d,m\in\mathbf{N}^*,d\mid a,d\mid b,d\mid m,则当 ab(modm)a\equiv b\pmod m 成立时,有 adbd(mod  md)\dfrac{a}{d}\equiv\dfrac{b}{d}\left(\bmod\;{\dfrac{m}{d}}\right)
  • a,bZ,d,mN,dma,b\in\mathbf{Z},d,m\in\mathbf{N}^*,d\mid m,则当 ab(modm)a\equiv b\pmod m 成立时,有 ab(modd)a\equiv b\pmod d
  • a,bZ,d,mNa,b\in\mathbf{Z},d,m\in\mathbf{N}^*,则当 ab(modm)a\equiv b\pmod m 成立时,有 (a,m)=(b,m)(a,m)=(b,m)。若 dd 能整除 mma,ba,b 中的一个,则 dd 必定能整除 a,ba,b 中的另一个。

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

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

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

  1. 当除数为 0 时,行为未定义;
  2. 否则 (a / b) * b + a % b 的运算结果与 a 相等。

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

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

5 % 3 == 2;
5 % -3 == 2;
-5 % 3 == -2;
-5 % -3 == -2;

同余类与剩余系

为方便讨论,对集合 A,BA,B 和元素 rr,我们引入如下记号:

  • r+A:={r+a:aA}r+A:=\{r+a:a\in A\}
  • rA:={ra:aA}rA:=\{ra:a\in A\}
  • A+B:={a+b:aA,bB}A+B:=\{a+b:a\in A,b\in B\}
  • AB:={ab:aA,bB}AB:=\{ab:a\in A,b\in B\}

对非零整数 mm,把全体整数分成 m|m| 个两两不交的集合,且同一个集合中的任意两个数模 mm 均同余,我们把这 m|m| 个集合均称为模 mm同余类剩余类。用 rmodmr\bmod m 表示含有整数 rr 的模 mm 的同余类。

不难证明对任意非零整数 mm,上述划分方案一定存在且唯一。

由同余类的定义可知:

  • rmodm={r+km:kZ}r\bmod m=\{r+km:k\in\mathbf{Z}\}
  • rmodm=smodm    rs(modm)r\bmod m=s\bmod m\iff r\equiv s\pmod m
  • 对任意 r,sZr,s\in\mathbf{Z},要么 rmodm=smodmr\bmod m=s\bmod m,要么 (rmodm)(smodm)=(r\bmod m)\cap (s\bmod m)=\varnothing
  • m1mm_1\mid m,则对任意整数 rr 均有 r+mZr+m1Zr+m\mathbf{Z}\subseteq r+m_1\mathbf{Z}

注意到同余是等价关系,所以同余类即为同余关系的等价类。

我们把模 mm 的同余类全体构成的集合记为 Zm\mathbf{Z}_m,即

Zm:={rmodm:0r<m}\mathbf{Z}_m:=\{r\bmod m:0\leq r<m\}

不难发现:

  • 对任意整数 aaa+Zm=Zma+\mathbf{Z}_m=\mathbf{Z}_m
  • 对任意与 mm 互质的整数 bbbZm=Zmb\mathbf{Z}_m=\mathbf{Z}_m

由商群的定义可知 Zm=Z/mZ\mathbf{Z}_m=\mathbf{Z}/m\mathbf{Z},所以有时我们也会用 Z/mZ\mathbf{Z}/m\mathbf{Z} 表示 Zm\mathbf{Z}_m

由抽屉原理可知:

  • 任取 m+1m+1 个整数,必有两个整数模 mm 同余。
  • 存在 mm 个两两模 mm 不同余的整数。

由此我们给出完全剩余系的定义:

mm 个整数 a1,a2,,ama_1,a_2,\dots,a_m,若对任意的数 xx,有且仅有一个数 aia_i 使得 xxaia_imm 同余,则称这 mm 个整数 a1,a2,,ama_1,a_2,\dots,a_m 为模 mm完全剩余系,简称 剩余系

我们还可以定义模 mm 的:

  • 最小非负(完全)剩余系:0,,m10,\dots,m-1
  • 最小正(完全)剩余系:1,,m1,\dots,m
  • 绝对最小(完全)剩余系:m/2,,m/21-\lfloor m/2\rfloor,\dots,-\lfloor -m/2\rfloor-1
  • 最大非正(完全)剩余系:m+1,,0-m+1,\dots,0
  • 最大负(完全)剩余系:m,,1-m,\dots,-1

若无特殊说明,一般我们只用最小非负剩余系。


我们注意到如下命题成立:

  • 在模 mm 的任意一个同余类中,任取两个整数 a1,a2a_1,a_2 均有 (a1,m)=(a2,m)(a_1,m)=(a_2,m)

考虑同余类 rmodmr\bmod m,若 (r,m)=1(r,m)=1,则该同余类的所有元素均与 mm 互质,这说明我们也许可以通过类似方式得知所有与 mm 互质的整数构成的集合的结构。

对同余类 rmodmr\bmod m,若 (r,m)=1(r,m)=1,则称该同余类为 既约同余类既约剩余类

我们把模 mm 既约剩余类的个数记作 φ(m)\varphi(m),称其为 Euler 函数。

我们把模 mm 的既约同余类全体构成的集合记为 Zm\mathbf{Z}_m^*,即

Zm:={rmodm:0r<m,(r,m)=1}\mathbf{Z}_m^*:=\{r\bmod m:0\leq r<m,(r,m)=1\}
注意

对于任意的整数 aa 和与 mm 互质的整数 bbbZm=Zmb\mathbf{Z}_m^*=\mathbf{Z}_m^*,但是 a+Zma+\mathbf{Z}_m^* 不一定为 Zm\mathbf{Z}_m^*。这一点与 Zm\mathbf{Z}_m 不同。

由抽屉原理可知:- 任取 φ(m)+1\varphi(m)+1 个与 mm 互质的整数,必有两个整数模 mm 同余。

  • 存在 φ(m)\varphi(m) 个与 mm 互质且两两模 mm 不同余的整数。

由此我们给出既约剩余系的定义:

t=φ(m)t=\varphi(m) 个整数 a1,a2,,ata_1,a_2,\dots,a_t,若 (ai,m)=1, 1it(a_i,m)=1,~\forall 1\leq i\leq t,且对任意满足 (x,m)=1(x,m)=1 的数 xx,有且仅有一个数 aia_i 使得 xxaia_imm 同余,则称这 tt 个整数 a1,a2,,ata_1,a_2,\dots,a_t 为模 mm既约剩余系缩剩余系简化剩余系

类似地,我们也可以定义最小非负既约剩余系等概念。

若无特殊说明,一般我们只用最小非负既约剩余系。

剩余系的复合

对正整数 mm,我们有如下定理:

  • m=m1m2, 1m1,m2m=m_1m_2,~1\leq m_1,m_2,令 Zm1,Zm2Z_{m_1},Z_{m_2} 分别为模 m1,m2m_1,m_2完全 剩余系,则对任意与 m1m_1 互质的 aa 均有:

    Zm=aZm1+m1Zm2.Z_m=aZ_{m_1}+m_1Z_{m_2}.

    为模 mm完全 剩余系。进而,若 m=i=1kmi, 1m1,m2,,mkm=\prod_{i=1}^k m_i,~1\leq m_1,m_2,\dots,m_k,令 Zm1,,ZmkZ_{m_1},\dots,Z_{m_k} 分别为模 m1,,mkm_1,\dots,m_k完全 剩余系,则:

    Zm=i=1k(j=1i1mj)Zmi.Z_m=\sum_{i=1}^k\left(\prod_{j=1}^{i-1}m_j\right)Z_{m_i}.

    为模 mm完全 剩余系。

证明

只需证明对任意满足 ax+m1yax+m1y(modm1m2)ax+m_1y\equiv ax'+m_1y'\pmod{m_1m_2}x,xZm1x,x'\in Z_{m_1}y,yZm2y,y'\in Z_{m_2},都有:

ax+m1y=ax+m1y.ax+m_1y=ax'+m_1y'.

实际上,由 m1m1m2m_1\mid m_1m_2,我们有 ax+m1yax+m1y(modm1)ax+m_1y\equiv ax'+m_1y'\pmod{m_1},进而 axax(modm1)ax\equiv ax'\pmod{m_1},由 (a,m1)=1(a,m_1)=1 可知 xx(modm1)x\equiv x'\pmod{m_1},进而有 x=xx=x'

进一步,m1ym1y(modm1m2)m_1y\equiv m_1y'\pmod{m_1m_2},则 yy(modm2)y\equiv y'\pmod{m_2},即 y=yy=y'

因此,

ax+m1y=ax+m1y.ax+m_1y=ax'+m_1y'.
  • m=m1m2, 1m1,m2,(m1,m2)=1m=m_1m_2,~1\leq m_1,m_2,(m_1,m_2)=1,令 Zm1,Zm2Z_{m_1}^*,Z_{m_2}^* 分别为模 m1,m2m_1,m_2既约 剩余系,则:

    Zm=m2Zm1+m1Zm2.Z_m^*=m_2Z_{m_1}^*+m_1Z_{m_2}^*.

    为模 mm既约 剩余系。

证明

Zm1,Zm2Z_{m_1},Z_{m_2} 分别为模 m1,m2m_1,m_2 的完全剩余系,我们已经证明了

Zm=m2Zm1+m1Zm2Z_m=m_2Z_{m_1}+m_1Z_{m_2}

为模 mm 的完全剩余系。令 M={aZm:(a,m)=1}ZmM=\{a\in Z_m:(a,m)=1\}\subseteq Z_m,显然 MM 为模 mm 的既约剩余系,所以我们只需证明 M=ZmM=Z_m^* 即可。

显然 ZmZmZ_m^*\subseteq Z_m

任取 m2x+m1yMm_2x+m_1y\in M,其中 xZm1x\in Z_{m_1}yZm2y\in Z_{m_2},有 (m2x+m1y,m1m2)=1(m_2x+m_1y,m_1m_2)=1,由 (m1,m2)=1(m_1,m_2)=1 可得

1=(m2x+m1y,m1)=(m2x,m1)=(x,m1),1=(m_2x+m_1y,m_1)=(m_2x,m_1)=(x,m_1),1=(m2x+m1y,m2)=(m1y,m2)=(y,m2).1=(m_2x+m_1y,m_2)=(m_1y,m_2)=(y,m_2).

因此可得 xZm1x\in Z_{m_1}^*yZm2y\in Z_{m_2}^*,即 MZmM\subseteq Z_m^*

任取 m2x+m1yZmm_2x+m_1y\in Z_m^*,其中 xZm1x\in Z_{m_1}^*yZm2y\in Z_{m_2}^*,有 (x,m1)=1(x,m_1)=1(y,m2)=1(y,m_2)=1,由 (m1,m2)=1(m_1,m_2)=1 可得

(m2x+m1y,m1)=(m2x,m1)=(x,m1)=1,(m_2x+m_1y,m_1)=(m_2x,m_1)=(x,m_1)=1,(m2x+m1y,m2)=(m1y,m2)=(x,m2)=1,(m_2x+m_1y,m_2)=(m_1y,m_2)=(x,m_2)=1,

因此可得 (m2x+m1y,m1m2)=1(m_2x+m_1y,m_1m_2)=1,即 ZmMZ_m^*\subseteq M

综上所述,

Zm=m2Zm1+m1Zm2.Z_m^*=m_2Z_{m_1}^*+m_1Z_{m_2}^*.

为模 mm既约 剩余系。

数论函数

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

积性函数

在数论中,若函数 f(n)f(n) 满足 f(1)=1f(1)=1,且 f(xy)=f(x)f(y)f(xy)=f(x)f(y) 对任意互质的 x,yNx, y \in\mathbf{N}^* 都成立,则 f(n)f(n)积性函数

性质

f(x)f(x)g(x)g(x) 均为积性函数,则以下函数也为积性函数:

h(x)=f(xp)h(x)=fp(x)h(x)=f(x)g(x)h(x)=dxf(d)g(xd)\begin{aligned} h(x)&=f(x^p)\\ h(x)&=f^p(x)\\ h(x)&=f(x)g(x)\\ h(x)&=\sum_{d\mid x}f(d)g\left(\dfrac{x}{d}\right) \end{aligned}

对正整数 xx,设其唯一质因数分解为 x=pikix=\prod p_i^{k_i},其中 pip_i 为质数。

F(x)F(x) 为积性函数,则有 F(x)=F(piki)F(x)=\prod F(p_i^{k_i})

F(x)F(x) 为完全积性函数,则有 F(x)=F(piki)=F(pi)kiF(x)=\prod F(p_i^{k_i})=\prod F(p_i)^{k_i}

例子

  • 单位函数:ε(n)=[n=1]\varepsilon(n)=[n=1]。(完全积性)
  • 恒等函数:idk(n)=nk\operatorname{id}_k(n)=n^kid1(n)\operatorname{id}_{1}(n) 通常简记作 id(n)\operatorname{id}(n)。(完全积性)
  • 常数函数:1(n)=11(n)=1。(完全积性)
  • 除数函数:σk(n)=dndk\sigma_{k}(n)=\sum_{d\mid n}d^{k}σ0(n)\sigma_{0}(n) 通常简记作 d(n)d(n)τ(n)\tau(n)σ1(n)\sigma_{1}(n) 通常简记作 σ(n)\sigma(n)
  • 欧拉函数:φ(n)=i=1n[(i,n)=1]\varphi(n)=\sum_{i=1}^n[(i,n)=1]
  • 莫比乌斯函数:μ(n)={1n=10d>1,d2n(1)ω(n)otherwise\mu(n)=\begin{cases}1&n=1\\0&\exists d>1,d^{2}\mid n\\(-1)^{\omega(n)}&\text{otherwise}\end{cases},其中 ω(n)\omega(n) 表示 nn 的本质不同质因子个数。

加性函数

在数论中,若函数 f(n)f(n) 满足 f(1)=0f(1)=0f(xy)=f(x)+f(y)f(xy)=f(x)+f(y) 对任意互质的 x,yNx, y \in\mathbf{N}^* 都成立,则 f(n)f(n)加性函数

本节中的加性函数指数论上的加性函数 (Additive function),应与代数中的 Additive map 做区分。

性质

对正整数 xx,设其唯一质因数分解为 x=pikix=\prod p_i^{k_i},其中 pip_i 为质数。

F(x)F(x) 为加性函数,则有 F(x)=F(piki)F(x)=\sum F(p_i^{k_i})

F(x)F(x) 为完全加性函数,则有 F(x)=F(piki)=F(pi)kiF(x)=\sum F(p_i^{k_i})=\sum F(p_i)\cdot k_i

例子

为方便叙述,令所有质数组成的集合为 PP.

  • 所有质因子数目:Ω(n)=pn[pP]k=1logpn[pknpk+1n]k\Omega(n)=\sum_{p \mid n} [p \in P] \sum_{k=1}^{\lceil\log_p n\rceil} [p^k \mid n \wedge p^{k+1} \nmid n] \cdot k。(完全加性)
  • 相异质因子数目:ω(n)=pn[pP]\omega(n)=\sum_{p \mid n} [p \in P]
  • 所有质因子之和:a0(n)=pn[pP]k=1logpn[pknpk+1n]kpa_0(n)=\sum_{p \mid n} [p \in P] \sum_{k=1}^{\lceil\log_p n\rceil} [p^k \mid n \wedge p^{k+1} \nmid n] \cdot kp。(完全加性)
  • 相异质因子之和:a1(n)=pn[pP]pa_1(n)=\sum_{p \mid n}[p \in P] \cdot p

参考资料与注释

  1. 潘承洞,潘承彪。初等数论。北京大学出版社。

Footnotes

  1. std::gcd - cppreference.com

  2. Are all primes (past 2 and 3) of the forms 6n+1 and 6n-1?

  3. Arithmetic operators (C) - cppreference.com

  4. Arithmetic operators (C++) - cppreference.com