数论里的函数 (积性函数, 欧拉函数等), 定义域都是 正整数
… 因为数论一般研究的都是: 自然数.
… 包括下面涉及的所有函数/变量, 都默认是在 (正整数)域的.
所以, 数论函数 也可以看成是一个 数列, 故, 一般写成 f ( n ) f(n) f(n), 而不是 f ( x ) f(x) f(x)
若函数
f
(
n
)
f(n)
f(n) 满足
f
(
1
)
=
1
f(1)=1
f(1)=1 且
∀
(
x
,
y
)
互质
\forall (x,y)互质
∀(x,y)互质 都有
f
(
x
y
)
=
f
(
x
)
f
(
y
)
f(xy)=f(x)f(y)
f(xy)=f(x)f(y),则
f
(
n
)
f(n)
f(n) 为 积性函数。
… 可以发现, 积性函数 和 互质 是联系一起的; 只有两者互质, 才符合积性.
若函数 f ( n ) f(n) f(n) 满足 f ( 1 ) = 1 f(1)=1 f(1)=1 且 ∀ x , y \forall x,y ∀x,y 都有 f ( x y ) = f ( x ) f ( y ) f(xy)=f(x)f(y) f(xy)=f(x)f(y),则 f ( n ) f(n) f(n) 为完全积性函数。
积性函数的例子:
F( x)表示x这个数的约数个数, 他等于: (a1 + 1) * (a2 + 1) * ... (ai为各个质因子的量级)Pow( x)为: x的最小的质因子的量级.if( i % Prime[ j] == 0){
F[ Prime[ j] * i] = F[ i] / Pow[ i] * ( Pow[ i] + 1);
}
else{
F[ Prime[ j] * i] = F[ i] * 2;
}
F( x)表示x这个数的 所有约数之和, 他等于:
(
1
+
p
1
+
p
1
2
+
.
.
.
)
∗
(
1
+
p
2
+
p
2
2
+
.
.
.
)
.
.
.
(1 + p_1 + p_1^2 + ...) * ( 1 + p_2 + p_2^2 + ...) ...
(1+p1+p12+...)∗(1+p2+p22+...)...Min( x)为: x的
(
1
+
p
1
+
p
1
2
+
.
.
.
)
,
p
1
为其最小质因子
(1 + p_1 + p_1^2 + ...), \ \ p_1为其最小质因子
(1+p1+p12+...), p1为其最小质因子欧拉函数
ϕ
(
x
)
\phi( x)
ϕ(x), 定义域为 正整数, 表示: 在[1, x]内, 有多少整数与x互质.
ϕ
(
1
)
=
1
=
1
\phi( 1) = {1} = 1
ϕ(1)=1=1 (1与任何数互质, 包括自身)
ϕ
(
2
)
=
1
=
1
\phi( 2) = {1} = 1
ϕ(2)=1=1
ϕ
(
3
)
=
1
,
2
=
2
\phi( 3) = {1, 2} = 2
ϕ(3)=1,2=2
ϕ
(
4
)
=
1
,
3
=
2
\phi( 4) = {1, 3} = 2
ϕ(4)=1,3=2
ϕ
(
5
)
=
1
,
2
,
3
,
4
=
4
\phi( 5) = {1, 2, 3, 4} = 4
ϕ(5)=1,2,3,4=4
如果x是质数, 显然其
ϕ
(
x
)
=
x
−
1
\phi( x) = x-1
ϕ(x)=x−1, 除了x, 所有[1, x-1]范围的数 都与x互质.
欧拉函数 是 积性函数.
ϕ
(
12
)
=
4
,
ϕ
(
2
)
=
1
,
ϕ
(
6
)
=
2
,
ϕ
(
3
)
=
2
,
ϕ
(
4
)
=
2
\phi( 12) = 4, \phi( 2) = 1, \phi( 6) = 2, \phi( 3) = 2, \phi( 4) = 2
ϕ(12)=4,ϕ(2)=1,ϕ(6)=2,ϕ(3)=2,ϕ(4)=2
因为3, 4互质, 但是2, 6不是互质的.
故,
ϕ
(
3
)
∗
ϕ
(
4
)
=
4
=
ϕ
(
12
)
\phi( 3) * \phi( 4) = 4 = \phi( 12)
ϕ(3)∗ϕ(4)=4=ϕ(12), 但是, 从
ϕ
(
2
)
∗
ϕ
(
6
)
\phi( 2) * \phi( 6)
ϕ(2)∗ϕ(6)并不能推出
ϕ
(
12
)
\phi(12)
ϕ(12), 因为两者不互质.
证明: 简单证明, 如果你知道欧拉函数的公式的话
… 对于任意一个数, 其欧拉函数公式为:
ϕ
(
p
1
k
1
∗
p
2
k
2
∗
p
3
k
3
.
.
.
)
=
(
p
1
k
1
∗
p
2
k
2
∗
p
3
k
3
.
.
.
)
∗
p
1
−
1
p
1
∗
p
2
−
1
p
2
∗
p
3
−
1
p
3
∗
.
.
.
\phi( p_1^{k_1} * p_2^{k_2} * p_3^{k_3} ...) = ( p_1^{k_1} * p_2^{k_2} * p_3^{k_3} ...) * \frac{ p_1 - 1}{ p_1} * \frac{ p_2 - 1}{ p_2} * \frac{ p_3 - 1}{ p_3} * ...
ϕ(p1k1∗p2k2∗p3k3...)=(p1k1∗p2k2∗p3k3...)∗p1p1−1∗p2p2−1∗p3p3−1∗...
… 合并同类项后, :
(
p
1
k
1
∗
p
1
−
1
p
1
)
∗
(
p
2
k
2
∗
p
2
−
1
p
2
)
∗
(
p
3
k
3
∗
p
3
−
1
p
3
)
.
.
.
=
ϕ
(
p
1
k
1
)
∗
ϕ
(
p
2
k
2
)
∗
ϕ
(
p
3
k
3
)
.
.
.
(p_1^{k_1} * \frac{ p_1 - 1}{ p_1}) * (p_2^{k_2} * \frac{ p_2 - 1}{ p_2}) * (p_3^{k_3} * \frac{ p_3 - 1}{ p_3}) ... = \phi(p_1^{k_1}) * \phi( p_2^{k_2}) * \phi( p_3^{k_3})...
(p1k1∗p1p1−1)∗(p2k2∗p2p2−1)∗(p3k3∗p3p3−1)...=ϕ(p1k1)∗ϕ(p2k2)∗ϕ(p3k3)...
… 即:
ϕ
(
p
1
k
1
∗
p
2
k
2
∗
p
3
k
3
.
.
.
)
=
ϕ
(
p
1
k
1
)
∗
ϕ
(
p
2
k
2
)
∗
ϕ
(
p
3
k
3
)
.
.
.
\phi( p_1^{k_1} * p_2^{k_2} * p_3^{k_3} ...) = \phi(p_1^{k_1}) * \phi( p_2^{k_2}) * \phi( p_3^{k_3})...
ϕ(p1k1∗p2k2∗p3k3...)=ϕ(p1k1)∗ϕ(p2k2)∗ϕ(p3k3)...
… 而,
p
1
k
1
,
p
2
k
2
,
p
3
k
3
p_1^{k_1},\ \ p_2^{k_2}, \ \ p_3^{k_3}
p1k1, p2k2, p3k3这些项, 是互相互质的; 即:
ϕ
(
n
)
,
可以拆分成这些项的乘积
\phi( n), 可以拆分成这些项的乘积
ϕ(n),可以拆分成这些项的乘积
… 对于
任意的
a
∗
b
=
n
,
且
a
,
b
互质
任意的a*b = n, 且a,b互质
任意的a∗b=n,且a,b互质(这是积性函数的前提), a一定是某些项的乘积, b是剩余项的乘积
… 因此, 满足:
f
(
a
∗
b
)
=
f
(
a
)
∗
f
(
b
)
f(a*b) = f(a) *f(b)
f(a∗b)=f(a)∗f(b)
任意数 等于 其所有约数的欧拉函数之和.
n
=
∑
d
∣
n
ϕ
(
d
)
n = \sum_{d | n}^{}{ \phi( d)}
n=∑d∣nϕ(d)
比如, n=10, 其约数为: {1, 2, 5, 10}, 其欧拉函数之和为:
ϕ
(
1
)
:
1
+
ϕ
(
2
)
:
1
+
ϕ
(
5
)
:
4
+
ϕ
(
10
)
:
4
=
10
\phi( 1):1 + \phi( 2):1 + \phi( 5):4 + \phi( 10):4 = 10
ϕ(1):1+ϕ(2):1+ϕ(5):4+ϕ(10):4=10
证明:
N为任意正整数 (在以下证明中, N可以当成是个常数), 证明:
N
=
∑
d
∣
N
ϕ
(
d
)
N = \sum_{d | N}^{}{ \phi( d)}
N=∑d∣Nϕ(d)
令
C
(
x
)
为
:
∀
i
∈
[
1
,
N
]
,
且满足
:
g
c
d
(
i
,
N
)
=
x
条件的
,
i
的个数
C( x)为: \forall i \in [1, N], 且满足: gcd( i, N) = x条件的, i的个数
C(x)为:∀i∈[1,N],且满足:gcd(i,N)=x条件的,i的个数
… 结论一:
N
=
∑
i
=
1
N
C
(
i
)
N = \sum_{i = 1}^{N}{ C( i)}
N=∑i=1NC(i)
… 证明: 因为对任意的
i
∈
[
1
,
N
]
i \in [1, N]
i∈[1,N] , gcd( i, N)的值 是唯一的; 而且gcd( i, N)的值 都是在[1, N]范围内.
… 结论二:
N
=
∑
i
∣
N
C
(
i
)
N = \sum_{i | N}{ C( i)}
N=∑i∣NC(i)
… 证明: 所有的gcd( i, N)一定都是N的约数.
… … 比如, N = 10, 则
C
(
1
)
:
{
1
,
3
,
7
,
9
}
=
4
,
C
(
2
)
:
{
2
,
4
,
6
,
8
}
=
4
,
C
(
5
)
:
{
5
}
=
1
,
C
(
10
)
:
{
10
}
=
1
C(1): \{ 1, 3, 7, 9\} = 4, \quad C( 2): \{ 2, 4, 6, 8\} = 4, \quad C( 5) : \{ 5\} = 1, \quad C( 10) : \{ 10\} = 1
C(1):{1,3,7,9}=4,C(2):{2,4,6,8}=4,C(5):{5}=1,C(10):{10}=1
… … 其他的
C
(
3
,
4
,
6
,
7
,
8
,
9
)
=
0
C( 3, 4, 6, 7, 8, 9) = 0
C(3,4,6,7,8,9)=0
… 结论三:
C
(
i
)
=
ϕ
(
N
/
i
)
C( i) = \phi( N / i)
C(i)=ϕ(N/i)
… 证明: 对于
C
(
i
)
=
k
,
其集合元素为
{
c
1
,
c
2
,
.
.
.
,
c
k
}
C( i) = k, 其集合元素为\{ c1, c2, ..., ck \}
C(i)=k,其集合元素为{c1,c2,...,ck}, 均有: gcd( cj, N) = i
… … 此时, 左右侧同除i,
g
c
d
(
c
j
i
,
N
i
)
=
1
gcd( \frac{ cj}{ i}, \frac{N}{i}) = 1
gcd(icj,iN)=1(两者都是可以整除的), 此时集合变成:
{
c
1
i
,
c
2
i
,
.
.
.
,
c
k
i
}
\{ \frac{ c1}{ i}, \frac{ c2}{ i}, ..., \frac{ ck}{ i} \}
{ic1,ic2,...,ick}
… … 因为
c
j
∈
[
1
,
N
]
,
所以
:
c
j
i
∈
[
1
,
N
i
]
cj \in [1, N], 所以: \frac{ cj}{ i} \in [1, \frac{ N}{i}]
cj∈[1,N],所以:icj∈[1,iN], 因此, 这个
{
c
1
i
,
c
2
i
,
.
.
.
,
c
k
i
}
\{ \frac{ c1}{ i}, \frac{ c2}{ i}, ..., \frac{ ck}{ i} \}
{ic1,ic2,...,ick}集合个数, 就等于
ϕ
(
N
/
i
)
\phi( N/i)
ϕ(N/i)
… … 此时我们得到:
N
=
∑
i
∣
N
ϕ
(
N
i
)
N = \sum_{i | N}{ \phi( \frac{ N}{i}})
N=∑i∣Nϕ(iN)
… 结论四:
N
=
∑
i
∣
N
ϕ
(
i
)
N = \sum_{i | N}{ \phi( i})
N=∑i∣Nϕ(i)
… 证明: 一个数的所有约数集合, 10: 1, 2, 5, 10,
ϕ
(
10
)
+
ϕ
(
5
)
+
ϕ
(
2
)
+
ϕ
(
1
)
=
ϕ
(
1
)
+
ϕ
(
2
)
+
ϕ
(
5
)
+
ϕ
(
10
)
\phi( 10) + \phi( 5) + \phi( 2) + \phi( 1) = \phi( 1) + \phi( 2) + \phi( 5) + \phi( 10)
ϕ(10)+ϕ(5)+ϕ(2)+ϕ(1)=ϕ(1)+ϕ(2)+ϕ(5)+ϕ(10)
… … 故,
∑
i
∣
N
ϕ
(
N
i
)
=
∑
i
∣
N
ϕ
(
i
)
\sum_{i | N}{ \phi( \frac{ N}{i}}) = \sum_{i | N}{ \phi( i})
∑i∣Nϕ(iN)=∑i∣Nϕ(i)
若
N
=
p
k
,
其中
p
为质数
N = p^k, 其中p为质数
N=pk,其中p为质数, 则
ϕ
(
N
)
=
N
−
p
k
−
1
\phi( N) = N - p^{k-1}
ϕ(N)=N−pk−1
… (一般常用
ϕ
(
p
k
)
=
p
k
∗
p
−
1
p
\phi( p^{k}) = p^{k} * \frac{ p - 1}{ p}
ϕ(pk)=pk∗pp−1这个公式)
对于N, 他和不互质的数, 只有:
p
,
2
p
,
3
p
,
.
.
.
,
k
p
p, 2p, 3p, ..., kp
p,2p,3p,...,kp (注意, 不是p, p^2, p^3, ..., p^k)
关键是k等于多少呢?
… 即在一个有N个元素的数组中, 从左到右, 每p个 拿一个数, 总共是多少个呢?
… 总共有
N
p
\frac{ N}{ p}
pN个
因此, 与N不互质的个数有:
N
p
=
p
k
−
1
\frac{ N}{ p} = p^{k-1}
pN=pk−1
对任意的
N
=
p
1
k
1
∗
p
2
k
2
∗
p
3
k
3
.
.
.
N = p_1^{k_1} * p_2^{k_2} * p_3^{k_3} ...
N=p1k1∗p2k2∗p3k3..., 则
ϕ
(
N
)
=
N
∗
p
1
−
1
p
1
∗
p
2
−
1
p
2
∗
p
3
−
1
p
3
∗
.
.
.
\phi( N) = N * \frac{ p_1 - 1}{ p_1} * \frac{ p_2 - 1}{ p_2} * \frac{ p_3 - 1}{ p_3} * ...
ϕ(N)=N∗p1p1−1∗p2p2−1∗p3p3−1∗...
证明: 因为欧拉函数是积性函数, 我们将其拆分成:
p
1
k
1
,
p
2
k
2
,
p
3
k
3
,
.
.
.
p_1^{k_1}, \ p_2^{k_2}, \ p_3^{k_3}, ...
p1k1, p2k2, p3k3,... 这些项
这些项 他们是互相互质的, 所以, 满足 积性函数的拆分条件.
ϕ
(
N
)
=
ϕ
(
p
1
k
1
)
∗
ϕ
(
p
2
k
2
)
∗
ϕ
(
p
3
k
3
)
∗
.
.
.
\phi( N) = \phi( p_1^{k_1}) * \phi( p_2^{k_2}) * \phi( p_3^{k_3}) * ...
ϕ(N)=ϕ(p1k1)∗ϕ(p2k2)∗ϕ(p3k3)∗...
根据上条性质,
ϕ
(
p
1
k
1
)
=
p
1
k
1
∗
p
1
−
1
p
1
\phi( p_1^{k_1}) = p_1^{k_1} * \frac{ p_1 - 1}{ p_1}
ϕ(p1k1)=p1k1∗p1p1−1, 依次带入即可.
https://blog.csdn.net/weixin_42712593/article/details/126301107
线性筛 欧拉函数.
https://blog.csdn.net/weixin_42712593/article/details/126306323
线性筛 欧拉函数.