本文是对3Blue1Brown在B站发布的视频【官方双语】奥数级别的数数问题的笔记。
问题:集合 S = { 1 , 2 , 3 , ⋯ , 2000 } S=\{1,2,3,\cdots,2000\} S={1,2,3,⋯,2000}有多少个子集的和是 5 5 5的倍数?空集也包含在内。例如,子集 { 2 , 3 , 5 } \{2,3,5\} {2,3,5}的和是 2 + 3 + 5 = 10 2+3+5=10 2+3+5=10,是 5 5 5的倍数。
解:考虑多项式 f ( x ) = ( 1 + x 1 ) ( 1 + x 2 ) ( 1 + x 3 ) ⋯ ( 1 + x 2000 ) \begin{equation} f(x)=(1+x^1)(1+x^2)(1+x^3)\cdots(1+x^{2000}) \end{equation} f(x)=(1+x1)(1+x2)(1+x3)⋯(1+x2000)将其展开,得 f ( x ) = 1 + x + x 2 + 2 x 3 + 2 x 4 + 3 x 5 + ⋯ + x 2001000 \begin{equation} f(x)=1+x+x^2+2x^3+2x^4+3x^5+\cdots+x^{2001000} \end{equation} f(x)=1+x+x2+2x3+2x4+3x5+⋯+x2001000则 x 5 k ( k ∈ N ) x^{5k}\,(k\in\mathbb{N}) x5k(k∈N)项的系数之和就是我们要求的答案。原理很简单,考虑展开式 ( 2 ) (2) (2)是怎么得到的,我们需要在乘积式 ( 1 ) (1) (1)中的每一乘积项选取一项( 1 1 1或 x m x^m xm)相乘,例如 x 3 x^3 x3可以这么选 ( 1 + x 1 ) ( 1 + x 2 ) ( 1 + x 3 ) ⋯ ( 1 + x 2001000 ) (1+\textcolor{red}{x^1})(1+\textcolor{red}{x^2})(\textcolor{red}{1}+x^3)\cdots(\textcolor{red}{1}+x^{2001000}) (1+x1)(1+x2)(1+x3)⋯(1+x2001000)也可以这么选 ( 1 + x 1 ) ( 1 + x 2 ) ( 1 + x 3 ) ⋯ ( 1 + x 2001000 ) (\textcolor{red}{1}+x^1)(\textcolor{red}{1}+x^2)(1+\textcolor{red}{x^3})\cdots(\textcolor{red}{1}+x^{2001000}) (1+x1)(1+x2)(1+x3)⋯(1+x2001000)共两种选法,故展开式 ( 2 ) (2) (2)中 x 3 x^3 x3项的系数为 2 2 2。这两种选法对应集合 S S S的两个子集 { 1 , 2 } \{1,2\} {1,2}和 { 3 } \{3\} {3},其中集合的元素是 x x x的指数,这两个集合的和都是 3 3 3,故 S S S有两个子集的和是 3 3 3。
问题在于,我们不可能硬算展开式,那么如何求得
x
5
k
(
k
∈
N
)
x^{5k}\,(k\in\mathbb{N})
x5k(k∈N)项的系数之和呢?考虑引入
5
5
5次单位根
ω
=
e
2
π
i
5
=
cos
2
π
5
+
i
sin
2
π
5
\omega=e^{\frac{2\pi i}{5}}=\cos\frac{2\pi}{5}+i\sin\frac{2\pi}{5}
ω=e52πi=cos52π+isin52π(原视频用的字母是
ζ
\zeta
ζ,但国内一般习惯用
ω
\omega
ω),则
ω
5
=
1
\omega^5=1
ω5=1,
(
ω
2
)
5
{(\omega^2)}^5
(ω2)5、
(
ω
3
)
5
{(\omega^3)}^5
(ω3)5、
(
ω
4
)
5
{(\omega^4)}^5
(ω4)5也等于
1
1
1。单位根还有一个非常好的性质,设
s
s
s为整数,考虑和
(
ω
0
)
s
+
(
ω
1
)
s
+
(
ω
2
)
s
+
(
ω
0
)
s
+
(
ω
4
)
s
{(\omega^0)}^s+{(\omega^1)}^s+{(\omega^2)}^s+{(\omega^0)}^s+{(\omega^4)}^s
(ω0)s+(ω1)s+(ω2)s+(ω0)s+(ω4)s,当
s
s
s是
5
5
5的倍数时,每一项都是
1
1
1,此和显然为
5
5
5;当
s
s
s不是
5
5
5的倍数时,
(
ω
0
)
s
+
(
ω
1
)
s
+
(
ω
2
)
s
+
(
ω
0
)
s
+
(
ω
4
)
s
=
(
ω
0
)
s
1
−
(
ω
s
)
5
1
−
ω
s
=
1
−
1
1
−
ω
=
0
\begin{aligned} {(\omega^0)}^s+{(\omega^1)}^s+{(\omega^2)}^s+{(\omega^0)}^s+{(\omega^4)}^s&={(\omega^0)}^s\frac{1-{(\omega^s)}^5}{1-\omega^s}\\ &=\frac{1-1}{1-\omega}\\ &=0 \end{aligned}
(ω0)s+(ω1)s+(ω2)s+(ω0)s+(ω4)s=(ω0)s1−ωs1−(ωs)5=1−ω1−1=0所以说,
(
ω
0
)
s
+
(
ω
1
)
s
+
(
ω
2
)
s
+
(
ω
0
)
s
+
(
ω
4
)
s
=
{
0
,
s
不是
5
的倍数
5
,
s
是
5
的倍数
{(\omega^0)}^s+{(\omega^1)}^s+{(\omega^2)}^s+{(\omega^0)}^s+{(\omega^4)}^s=\begin{cases}0,&s\text{不是}5\text{的倍数}\\5,&s\text{是}5\text{的倍数}\end{cases}
(ω0)s+(ω1)s+(ω2)s+(ω0)s+(ω4)s={0,5,s不是5的倍数s是5的倍数。
现在我们将
f
(
x
)
f(x)
f(x)表示成
f
(
x
)
=
c
0
+
c
1
x
1
+
c
2
x
2
+
c
3
x
3
+
⋯
+
c
2001000
x
2001000
f(x)=c_0+c_1x^1+c_2x^2+c_3x^3+\cdots+c_{2001000}x^{2001000}
f(x)=c0+c1x1+c2x2+c3x3+⋯+c2001000x2001000其中
c
k
c_k
ck是
x
k
x^k
xk项的系数。将
ω
0
,
ω
1
,
ω
2
,
ω
3
,
ω
4
\omega^0,\omega^1,\omega^2,\omega^3,\omega^4
ω0,ω1,ω2,ω3,ω4代入
f
(
x
)
f(x)
f(x)得
f
(
ω
0
)
=
c
0
+
c
1
(
ω
0
)
1
+
c
2
(
ω
0
)
2
+
c
3
(
ω
0
)
3
+
c
4
(
ω
0
)
4
+
c
5
(
ω
0
)
5
+
⋯
+
c
2001000
(
ω
0
)
2001000
f
(
ω
1
)
=
c
0
+
c
1
(
ω
1
)
1
+
c
2
(
ω
1
)
2
+
c
3
(
ω
1
)
3
+
c
4
(
ω
1
)
4
+
c
5
(
ω
1
)
5
+
⋯
+
c
2001000
(
ω
1
)
2001000
f
(
ω
2
)
=
c
0
+
c
1
(
ω
2
)
1
+
c
2
(
ω
2
)
2
+
c
3
(
ω
2
)
3
+
c
4
(
ω
2
)
4
+
c
5
(
ω
2
)
5
+
⋯
+
c
2001000
(
ω
2
)
2001000
f
(
ω
3
)
=
c
0
+
c
1
(
ω
3
)
1
+
c
2
(
ω
3
)
2
+
c
3
(
ω
3
)
3
+
c
4
(
ω
3
)
4
+
c
5
(
ω
3
)
5
+
⋯
+
c
2001000
(
ω
3
)
2001000
f
(
ω
4
)
=
c
0
+
c
1
(
ω
4
)
1
+
c
2
(
ω
4
)
2
+
c
3
(
ω
4
)
3
+
c
4
(
ω
4
)
4
+
c
5
(
ω
4
)
5
+
⋯
+
c
2001000
(
ω
4
)
2001000
\begin{aligned} f(\omega^0)&=c_0+c_1{(\omega^0)}^1+c_2{(\omega^0)}^2+c_3{(\omega^0)}^3+c_4{(\omega^0)}^4+c_5{(\omega^0)}^5+\cdots+c_{2001000}{(\omega^0)}^{2001000}\\ f(\omega^1)&=c_0+c_1{(\omega^1)}^1+c_2{(\omega^1)}^2+c_3{(\omega^1)}^3+c_4{(\omega^1)}^4+c_5{(\omega^1)}^5+\cdots+c_{2001000}{(\omega^1)}^{2001000}\\ f(\omega^2)&=c_0+c_1{(\omega^2)}^1+c_2{(\omega^2)}^2+c_3{(\omega^2)}^3+c_4{(\omega^2)}^4+c_5{(\omega^2)}^5+\cdots+c_{2001000}{(\omega^2)}^{2001000}\\ f(\omega^3)&=c_0+c_1{(\omega^3)}^1+c_2{(\omega^3)}^2+c_3{(\omega^3)}^3+c_4{(\omega^3)}^4+c_5{(\omega^3)}^5+\cdots+c_{2001000}{(\omega^3)}^{2001000}\\ f(\omega^4)&=c_0+c_1{(\omega^4)}^1+c_2{(\omega^4)}^2+c_3{(\omega^4)}^3+c_4{(\omega^4)}^4+c_5{(\omega^4)}^5+\cdots+c_{2001000}{(\omega^4)}^{2001000} \end{aligned}
f(ω0)f(ω1)f(ω2)f(ω3)f(ω4)=c0+c1(ω0)1+c2(ω0)2+c3(ω0)3+c4(ω0)4+c5(ω0)5+⋯+c2001000(ω0)2001000=c0+c1(ω1)1+c2(ω1)2+c3(ω1)3+c4(ω1)4+c5(ω1)5+⋯+c2001000(ω1)2001000=c0+c1(ω2)1+c2(ω2)2+c3(ω2)3+c4(ω2)4+c5(ω2)5+⋯+c2001000(ω2)2001000=c0+c1(ω3)1+c2(ω3)2+c3(ω3)3+c4(ω3)4+c5(ω3)5+⋯+c2001000(ω3)2001000=c0+c1(ω4)1+c2(ω4)2+c3(ω4)3+c4(ω4)4+c5(ω4)5+⋯+c2001000(ω4)2001000把它们加起来,注意到只有
x
x
x的指数是
5
5
5的倍数的项才能留下来,其余的都被消掉了,所以我们有
f
(
ω
0
)
+
f
(
ω
1
)
+
f
(
ω
2
)
+
f
(
ω
3
)
+
f
(
ω
4
)
=
5
(
c
0
+
c
5
+
c
10
+
⋯
+
c
2001000
)
\begin{equation} f(\omega^0)+f(\omega^1)+f(\omega^2)+f(\omega^3)+f(\omega^4)=5(c_0+c_5+c_{10}+\cdots+c_{2001000}) \end{equation}
f(ω0)+f(ω1)+f(ω2)+f(ω3)+f(ω4)=5(c0+c5+c10+⋯+c2001000)所以说我们要求的就是
c
0
+
c
5
+
c
10
+
⋯
+
c
2001000
=
f
(
ω
0
)
+
f
(
ω
1
)
+
f
(
ω
2
)
+
f
(
ω
3
)
+
f
(
ω
4
)
5
c_0+c_5+c_{10}+\cdots+c_{2001000}=\frac{f(\omega^0)+f(\omega^1)+f(\omega^2)+f(\omega^3)+f(\omega^4)}{5}
c0+c5+c10+⋯+c2001000=5f(ω0)+f(ω1)+f(ω2)+f(ω3)+f(ω4)。
显然, f ( ω 0 ) = f ( 1 ) = 2 2000 f(\omega_0)=f(1)=2^{2000} f(ω0)=f(1)=22000。考虑 f ( ω 1 ) = ( 1 + ω ) ( 1 + ω 2 ) ( 1 + ω 3 ) ( 1 + ω 4 ) ( 1 + ω 5 ) ( 1 + ω 6 ) ⋯ ( 1 + ω 2000 ) f(\omega^1)=\textcolor{orange}{(1+\omega)(1+\omega^2)(1+\omega^3)(1+\omega^4)(1+\omega^5)}(1+\omega^6)\cdots(1+\omega^{2000}) f(ω1)=(1+ω)(1+ω2)(1+ω3)(1+ω4)(1+ω5)(1+ω6)⋯(1+ω2000),而 ω 5 k + r = ω r \omega^{5k+r}=\omega^r ω5k+r=ωr,所以它就是把橙色部分重复了 400 400 400次,即 f ( ω 1 ) = [ ( 1 + ω ) ( 1 + ω 2 ) ( 1 + ω 3 ) ( 1 + ω 4 ) ( 1 + ω 5 ) ] 400 f(\omega^1)=\textcolor{orange}{\left[(1+\omega)(1+\omega^2)(1+\omega^3)(1+\omega^4)(1+\omega^5)\right]}^{400} f(ω1)=[(1+ω)(1+ω2)(1+ω3)(1+ω4)(1+ω5)]400问题是如何求出橙色部分的值。不要忘了,单位根之所以称为单位根,是因为 ω 0 , ω 1 , ω 2 , ω 3 , ω 4 \omega^0,\omega^1,\omega^2,\omega^3,\omega^4 ω0,ω1,ω2,ω3,ω4是方程 x 5 − 1 = 0 x^5-1=0 x5−1=0在复数域上的 5 5 5个根,因此根据因式定理有 x 5 − 1 = ( x − ω 0 ) ( x − ω 1 ) ( x − ω 2 ) ( x − ω 3 ) ( x − ω 4 ) x^5-1=(x-\omega^0)(x-\omega^1)(x-\omega^2)(x-\omega^3)(x-\omega^4) x5−1=(x−ω0)(x−ω1)(x−ω2)(x−ω3)(x−ω4)将 x = − 1 x=-1 x=−1代入得 − 2 = ( − 1 − ω 0 ) ( − 1 − ω 1 ) ( − 1 − ω 2 ) ( − 1 − ω 3 ) ( − 1 − ω 4 ) -2=(-1-\omega^0)(-1-\omega^1)(-1-\omega^2)(-1-\omega^3)(-1-\omega^4) −2=(−1−ω0)(−1−ω1)(−1−ω2)(−1−ω3)(−1−ω4)而右端恰好是橙色部分的相反数,因此橙色部分的值为 2 2 2, f ( ω 1 ) = 2 400 f(\omega^1)=2^{400} f(ω1)=2400。
对于 ω 2 , ω 3 , ω 4 \omega^2,\omega^3,\omega^4 ω2,ω3,ω4,我们这么思考:对于 ω j ( j = 2 , 3 , 4 ) \omega^j\,(j=2,3,4) ωj(j=2,3,4), ( ω j ) 1 , ( ω j ) 2 , ( ω j ) 3 , ( ω j ) 4 , ( ω j ) 5 (\omega^j)^1,(\omega^j)^2,(\omega^j)^3,(\omega^j)^4,(\omega^j)^5 (ωj)1,(ωj)2,(ωj)3,(ωj)4,(ωj)5的 5 5 5次方也都等于 1 1 1(即 [ ( ω j ) k ] 5 = 1 \left[(\omega^j)^k\right]^5=1 [(ωj)k]5=1, k = 1 , 2 , 3 , 4 , 5 k=1,2,3,4,5 k=1,2,3,4,5),所以 ( ω j ) 1 , ( ω j ) 2 , ( ω j ) 3 , ( ω j ) 4 , ( ω j ) 5 (\omega^j)^1,(\omega^j)^2,(\omega^j)^3,(\omega^j)^4,(\omega^j)^5 (ωj)1,(ωj)2,(ωj)3,(ωj)4,(ωj)5也是方程 x 5 − 1 = 0 x^5-1=0 x5−1=0的五个根,事实上它们就是 ω 0 , ω 1 , ω 2 , ω 3 , ω 4 \omega^0,\omega^1,\omega^2,\omega^3,\omega^4 ω0,ω1,ω2,ω3,ω4的另一种排列而已。因此相应于 f ( ω j ) f(\omega^j) f(ωj)的橙色部分的值也是 2 2 2。因此, f ( ω 0 ) = 2 2000 f ( ω 1 ) = f ( ω 2 ) = f ( ω 3 ) = 2 400 \begin{aligned} f(\omega^0)&=2^{2000}\\ f(\omega^1)&=f(\omega^2)=f(\omega^3)=2^{400} \end{aligned} f(ω0)f(ω1)=22000=f(ω2)=f(ω3)=2400故 c 0 + c 5 + c 10 + ⋯ + c 2001000 = 2 2000 + 4 × 2 400 5 c_0+c_5+c_{10}+\cdots+c_{2001000}=\frac{2^{2000}+4\times 2^{400}}{5} c0+c5+c10+⋯+c2001000=522000+4×2400,即 S S S的和是 5 5 5的倍数的子集的个数为 2 2000 + 4 × 2 400 5 \frac{2^{2000}+4\times 2^{400}}{5} 522000+4×2400。