这个奇怪(?)的结论脑子一拍就容易明白,但是它的证明曾卡了我1个多小时,写篇文章纪念一下()
如题:
证明:若 x 1 , x 2 , . . . , x n x_1,x_2,...,x_n x1,x2,...,xn 均互质,则在 1 1 1~ x 1 ⋅ x 2 ⋅ . . . ⋅ x n x_1·x_2·...·x_n x1⋅x2⋅...⋅xn 中,不为任何 x i x_i xi 的倍数的数共有 ( x 1 − 1 ) ( x 2 − 1 ) . . . ( x n − 1 ) (x_1-1)(x_2-1)...(x_n-1) (x1−1)(x2−1)...(xn−1) 个
(下文中将 x 1 ⋅ x 2 ⋅ . . . ⋅ x n x_1·x_2·...·x_n x1⋅x2⋅...⋅xn 记作 S S S )
第一种方法:展开(或许不是那么严谨?)
我们将式子
(
x
1
−
1
)
(
x
2
−
1
)
.
.
.
(
x
n
−
1
)
(x_1-1)(x_2-1)...(x_n-1)
(x1−1)(x2−1)...(xn−1) 展开,不难发现,展开后每一项都应由
n
n
n 个数字相乘得到,若一个展开项是由
m
m
m 个
x
i
x_i
xi (与
n
−
m
n-m
n−m 个
−
1
-1
−1 )相乘得到,则它的代数意义可以描述为:在
1
1
1~
S
S
S 中,另外
n
−
m
n-m
n−m 个
x
i
x_i
xi 的乘积的倍数个数(设这
m
m
m 个数的乘积为
X
X
X ,剩下
n
−
m
n-m
n−m 个数的乘积为
Y
Y
Y ,显然
X
∣
S
,
X
⋅
Y
=
S
X|S,X·Y=S
X∣S,X⋅Y=S ,所以可以表示为倍数个数)。
以
n
=
3
n=3
n=3 为例:
(
x
1
−
1
)
(
x
2
−
1
)
(
x
3
−
1
)
=
x
1
x
2
x
3
(
1
的
倍
数
个
数
)
−
x
2
x
3
(
x
1
的
倍
数
个
数
)
−
x
1
x
3
(
x
2
的
倍
数
个
数
)
−
x
1
x
2
(
x
3
的
倍
数
个
数
)
+
x
3
(
x
1
x
2
的
倍
数
个
数
)
+
x
2
(
x
1
x
3
的
倍
数
个
数
)
+
x
1
(
x
2
x
3
的
倍
数
个
数
)
\begin{aligned} (x_1-1)(x_2-1)(x_3-1)=&x_1x_2x_3(1的倍数个数)-x_2x_3(x_1的倍数个数)-x_1x_3(x_2的倍数个数)-x_1x_2(x_3的倍数个数)\\ &+x_3(x_1x_2的倍数个数)+x_2(x_1x_3的倍数个数)+x_1(x_2x_3的倍数个数) \end{aligned}
(x1−1)(x2−1)(x3−1)=x1x2x3(1的倍数个数)−x2x3(x1的倍数个数)−x1x3(x2的倍数个数)−x1x2(x3的倍数个数)+x3(x1x2的倍数个数)+x2(x1x3的倍数个数)+x1(x2x3的倍数个数)
看到这个加减符号有没有想到什么?没错,就是容斥原理(显然成立)。
第二种方法:类欧拉函数
因为每个
x
i
x_i
xi 的倍数在
1
1
1~
S
S
S 中都是均匀分布,且
x
i
x_i
xi 均两两互质,所以我们可以将每个
x
i
x_i
xi (不管是质数与否)看作
S
S
S 的一个"质"因子,则根据求解欧拉函数的方法,对于每个
x
i
x_i
xi 我们将
a
n
s
∗
=
x
i
−
1
x
i
ans*=\frac{x_i-1}{x_i}
ans∗=xixi−1 。
由这种方式得到的最终答案:
a
n
s
=
S
⋅
x
1
−
1
x
1
⋅
x
2
−
1
x
2
⋅
.
.
.
⋅
x
n
−
1
x
n
=
S
⋅
(
x
1
−
1
)
(
x
2
−
1
)
.
.
.
(
x
n
−
1
)
S
=
(
x
1
−
1
)
(
x
2
−
1
)
.
.
.
(
x
2
−
1
)
\begin{aligned} ans=&S·\frac{x_1-1}{x_1}·\frac{x_2-1}{x_2}·...·\frac{x_n-1}{x_n}\\ =&S·\frac{(x_1-1)(x_2-1)...(x_n-1)}{S}\\ =&(x_1-1)(x_2-1)...(x_2-1) \end{aligned}
ans===S⋅x1x1−1⋅x2x2−1⋅...⋅xnxn−1S⋅S(x1−1)(x2−1)...(xn−1)(x1−1)(x2−1)...(x2−1)
得证。