#import "template.typ": * #import "lib.typ": * #show: project.with( title: "杂题选讲", ) #pagebreak() #align(center, table( columns: 6, stroke: none, ..for (name, fig) in ( "组合": combinatorics_icon, "代数": algebra_icon, "分析": analysis_icon, "数论": number_thoery_icon, "几何": geometry_icon, "数理逻辑": logic_icon ) { (stack(dir:ttb, fig, box[ #set text(10pt) #name ], spacing: 4pt),) } ) ) #let problem_type = state("problem_type", ()) #show heading.where(level: 1): it => { problem_id.step() footer_title.update(it.body) block(width: 100%)[ #place( right + top, dx: -5pt, dy: -5pt, stack( dir: ltr, spacing: 4pt, ..for t in problem_type.at(it.location()) { (t,) } ) ) #set text(font: cnfont) #block[ #set text(weight: "extralight", 40pt) \##problem_id.display("1") ] #block(stroke: (bottom: 15pt + rgb("B3E5FC"),), inset: -2pt)[ #set text(weight: "light", 30pt) #h(10pt) #it.body ] #v(20pt) ]} #pagebreak_until_odd() #[] #problem_type.update((combinatorics_icon,)) = 随机游走的左端点 #identp 一个长度为 $n$ 的由 $-1$ 或 1 构成的序列 $a$,其中 1 的个数为 $c$ 个。我们称一个子区间合法是指该子区间的数的和大于等于 0。求证:所有合法子区间的左端点的数量不超过 $2c$ 个。 == 提示 #identp 子区间是指序列中连续的一段,形式化地说,问题是求证: $ abs(lr({l in NN[1..n] : exists l in NN[l..n],(sum_(k=l)^r a_k)>=0}))<=2c $ 举个例子,若 $n=8,c=3$,序列 $a$ 为 $ -1,1,1,-1,-1,1,-1,-1 $ 那么序列 $a$ 中所有合法子区间的左端点共有 5 个,为下面括号的位置 $ (-1),(1),(1),-1,(-1),(1),-1,-1 $ #pagebreak() == 解答 #identp 对于某个序列 $a$,记 $S(a)$ 表示序列 $a$ 中所有合法子区间的左端点的数量。 #identp 如果 $a$ 存在一个 $-1$ 在一个 1 的后面,即存在下标 $i,j$ 满足 $i=0$。设我们要交换序列 $a$ 中的 $i,j$ 位置,由于 $a_i=1$,所以 $p_(i-1)=p_i-1$ 。若某个位置 $k ] 考虑 $bf(E)(min T)$ 的组合意义,可以看出它表示“首次出现 $T$ 集合中的任意一种颜色的球的时刻”,枚举这个时刻,得到 $ bf(E)(min T)=sum_(t\geq 0)(binom((n-abs(T))m,t)t!)/(binom(n m,t)t!)(t+1)(abs(T)m)/(n m-t) $ 注意到这个式子只与集合 $T$ 的大小有关,而与 $T$ 中具体包含那些元素无关,因此考虑记 $ f(k)=sum_(t\geq 0)(binom((n-k)m,t)t!)/(binom(n m,t)t!)(t+1)(k m)/(n m-t) $ 于是 $ bf(E)(min T)=f(abs(T)) $,代入@P2EqEmaxS1 得到, #[ #show: math_numbering $ bf(E)(max S)=sum_(T subset.eq S,T eq.not nothing)(-1)^(abs(T)-1) f(abs(T)) $ ] 我们首先专注于解出 $f(k)$ 的简化形式,展开二项式系数并通分,得到 $f(k)=sum_(t>=0)w_t$,其中 $ w_t=(((n-k)m)!(n m-t)!)/(((n-k)m-t)!(n m)!)(t+1)(k m)/(n m-t) $ ,其相邻两项的比值由 $ (w_(t+1))/(w_t)&=((t+2) (m n-t) (m n-t-1)! (m (n-k)-t)!)/((t+1) (m n-t-1) (m n-t)! (m (n-k)-t-1)!) \ &=((t+2)(t+k m-n m))/((t+1-n m)(t+1)) $ 给出,这个比值可以看成关于 $t$ 的有理函数,因此可以将原式写作超几何函数的形式: $ f(k)=k/n #hypergeometric-func($2, k m - n m$, $1 - n m$, 1) $ 由组合意义可知,一定有 $k m-n m>=0$,因此可以应用范德蒙德卷积恒等式对其进行化简: $ f(k)&=k/n (Gamma(- 1 - k m)Gamma(1 - n m))/(Gamma(- 1 - n m)Gamma(1 - k m)) \ &= (n m+1)/(k m+1) $ 把这个化简后的结果代回@P2EqEmaxS2,然后再次转化为超几何函数并使用德蒙德卷积恒等式化简,可以解出 $ bf(E)(max S)&=sum_(T subset.eq S,T eq.not nothing) (-1)^(abs(T)-1) (n m+1)/(abs(T)m+1) \ &= sum_(k=1)^n (-1)^(k-1) binom(n,k)(n m+1)/(k m+1) \ &= (1 + n m) - (1 + n m) #hypergeometric-func($1 + k m, k - n$, $1 + m + k m$, 1) \ &= n m + 1 - ((1 / m - 1)!n!)/((n+1/m - 1)!) $ 注意,这个式子给出的是翻转过后的期望时刻,转化为原来问题才能得到最终答案: $ bf(E)=((1 / m - 1)!n!)/((n+1/m - 1)!) $ #pagebreak_until_odd() #problem_type.update((algebra_icon,)) = 社团数量的上限 #identp 现在有 $n$ 个人要成立若干个社团(一个人可以属于多个社团)满足: - 每个社团的人数均为奇数; - 任意两个不同的社团所共有的成员数量为偶数。 求证:所能成立的社团数量不超过 $n$ 个。 == 提示 #identp 形式化地说,记 $U={1,2,dots,n}$,已知集簇 $S subset.eq 2^U$ 满足对于任意 $A,B in S$,$abs(A sect B)$ 为奇数当且仅当 $A=B$。求证 $abs(S)<= n$。 #identp 容易发现,只要每个人均成立一个只包含自己的社团,就可以成立恰好 $n$ 个社团,满足每个社团的人数均为奇数(1 个),任意两个不同的社团所共有的成员数量为偶数(0 个)。 #pagebreak() == 解答 #identp 假设已经确定了某种成立 $m$ 个社团的方案,第 $i(1<= i<= m)$ 个社团包含的成员的集合记作 $C_i$。 #identp 我们考虑一个二元域 $bb(Z)_2$,包含 ${0,1}$ 两个元素,在域上定义模 2 意义下的加法和乘法: #[ #let cell_size = 30pt #figure(stack( dir: ltr, spacing: cell_size, table( align: center + horizon, columns: (cell_size, cell_size, cell_size), rows: (cell_size, cell_size, cell_size), $ + $, $ 0 $, $ 1 $, $ 0 $, $ 0 $, $ 1 $, $ 1 $, $ 1 $, $ 0 $, ), table( align: center + horizon, columns: (cell_size, cell_size, cell_size), rows: (cell_size, cell_size, cell_size), $ times $, $ 0 $, $ 1 $, $ 0 $, $ 0 $, $ 0 $, $ 1 $, $ 0 $, $ 1 $, ) ), caption: [ $bb(Z)_2$ 上的加法和乘法 ]) ] #identp 构造 $ bb(Z)_2^(m times n)$ 上的矩阵 $A$,满足 $ A_(i,j)=cases(1 quad& j in C_i \ 0 & j in.not C_i) $ 考虑 $A A^transpose$ 这两个矩阵的乘积,是一个 $m times m$ 的矩阵,根据其第 $i$ 行第 $j$ 列的值所代表的实际意义,容易看出 $ (A A^transpose)_(i,j)=cases(1 quad& abs(C_i sect C_j) mtext("是奇数") \ 0 & abs(C_i sect C_j) mtext("是偶数")) $ #identp 根据题目的约束条件,$abs(C_i sect C_j)$ 是奇数当且仅当 $i=j$,所以对角线上的数均为 1,其余位置的数均为 0,于是 #[ #show: math_numbering $ A A^transpose= bf(I)_m $ 其中 $bf(I)_m$ 表示 $m$ 阶单位矩阵。 #identp 我们用 $dim V$ 表示线性空间 $V$ 的维数,$frange T$ 表示线性变换 $T$ 的值域。由于 $A$ 是 $bb(Z)_2^n->bb(Z)_2^m$ 的线性变换,其值域的维数一定满足@P2inq1[不等式]。由于 $bf(I)_m$ 是 $bb(Z)_2^m->bb(Z)_2^m$ 的线性变换,其值域的维数一定满足@P2inq2[等式]: $ dimrange A<= n $ $ dimrange bf(I)_m=m $ #identp 另一方面,因为 $frange A A^transpose subset.eq frange A$,所以 #show: math_numbering $ dimrange A A^transpose<=dimrange A $ ] 联立上面的@P2eq1、@P2inq1、@P2inq2、@P2inq3,就立即给出了我们欲证的结果: $ m=dimrange bf(I)=dimrange A A^transpose<=dimrange A<=n $ 这表明 $m<= n$ 始终成立,原命题得证。 #pagebreak_until_odd() #problem_type.update((combinatorics_icon,analysis_icon,)) = 不含三元环的最大边数 #identp 已知无向图 $G$ 由 $n$ 个点组成,且不包含三元环,求 $G$ 边数的最大值。 == 提示 #identp 设 $G=(V,E)$ 是一个无向图。我们称图 $G$ 中的一个“三元环”是指图 $G$ 中的三个点 $a,b,c$,满足 ${(a,b),(b,c),(a,c)} subset.eq E$。 #identp 例如当 $n=5$ 时,下面是一个不包含三元环的图的例子: #figure(image( "./assets/p4-explain.svg", width: 80% ), caption: [一个没有三元环的示例图]) 该图包含 5 个点和 6 条边,可以证明所有没有三元环的由 5 个点构成的无向图的边均不超过 6 条。 #pagebreak() == 解答 #identp 对于这种求最大值的问题,我们可以首先尝试给出一种可行的构造,再证明它是最优的。 #identp 把图中的 $n$ 个点分为 2 个大小尽可能的集合 $A$ 和 $B$(即大小分别为 $floor(n/2)$ 和 $ceil(n/2)$),然后对于每对点 $a in A,b in B$,在点 $a$ 和点 $b$ 之间连一条边,并且不连接其他的任何边。这样得到的图中一共连接了 $floor(n^2/4)$ 条边,且由于任意两个属于同一个集合的点之间都没有连边,这个图中不包含任何三元环。这样的图被称为“完全二分图”。 #figure(image( "./assets/p4-bipart.svg", width: 60% ), caption: [7 个点的完全二分图,包含 12 条边]) #identp 下面我们要证明这个构造是最优的构造,即任何由 $n$ 个点组成,不包含三元环的无向图的边数都不可能超过 $floor(n^2/4)$。这里将给出 3 种不同的证明。 === 证明 A #[ #let dd = {$upright(d)$} #identp 设 $G=(V,E)$ 是某个无向图,包含 $n$ 个点 $m$ 条边。点 $v$ 的度数是指连接点 $v$ 的边的数量,记作 $dd(v)$。于是有 #[ #show: math_numbering $ sum_(x in V)dd(x)=2m $ $ sum_(x in V)dd^2(x)=sum_((x,y)in E)dd(x)+dd(y) $ ] #identp 现在假设 $G$ 不包含三元环。若 $(x,y)$ 是图 $G$ 的边,那么对于任意一个点 $v$,一定有 $(x,v)in.not E$ 或 $(y,v)in.not E$,这说明 $ dd(x)+dd(y)<= n $ #identp 将这个性质代入@P4prove1eq2,得到 #[ #show: math_numbering $ sum_((x,y)in E)dd(x)+dd(y)<= n m $ 另一方面,对@P4prove1eq1 使用柯西-施瓦茨不等式得到 $ sum_(x in V)dd^2(x)>=1/n lr((sum_(x in V)dd(x)))^2=(4m^2)/n $ ] 联立@P4prove1eq2、@P4prove1eq3、@P4prove1eq4,得到 $ (4m^2)/n<=sum_(x in V)dd^2(x)=sum_((x,y)in E)dd(x)+dd(y)<=n m $ 整理得到 $m<= n^2slash 4$,注意到 $n$ 为整数,于是 $m<=floor(n^2slash 4)$,命题得证。 === 证明 B #identp 设 $G=(V,E)$ 是某个不包含三元环的无向图,包含 $n$ 个点 $m$ 条边。两个点 $a,b in V$ 之间有连边,则称这两个点是“相邻的”,与点 $a$ 相邻的所有点构成的集合记作 $N(a)$。 #identp 由于 $G$ 不包含三元环,所以对于图中的任意一个点 $a$,与 $a$ 的相邻的点构成的集合 $N(a)$ 一定是独立集,即 $N(a)$ 中的任意两个都不是相邻的。 #identp 设 $A subset.eq V$ 是图 $G$ 中的一个最大独立集,那么对于任意一个点 $x$,一定有 #[ #show: math_numbering $ dd(x)<=abs(A) $ ] #identp 令 $B=V without A$。由于 $A$ 是独立集,所以 $G$ 中的每条边都至少有一个端点包含在 $B$ 中。于是 $ m<=sum_(x in B)dd(x)<=sum_(x in B)abs(A)=abs(A)abs(B)<=((abs(A)+abs(B))/2)^2=(n^2)/4 $ 其中第二个不等号使用了@P4prove2eq1,第三个不等号使用了均值不等式。注意到 $n$ 为整数,于是 $m<=floor(n^2slash 4)$,命题得证。 === 证明 C #identp 设 $G=(V,E)$ 是某个不包含三元环的无向图,包含 $n$ 个点 $m$ 条边。考虑一个随机均匀的排列顶点排列 $sigma$,令 $ X={v in V:v mtext("与") sigma mtext("中所有早于") v mtext("出现的顶点相邻")} $ #identp 由于排列是均匀随机选择的,以及一个顶点 $x in X$ 当且仅当它出现在其所有不相邻的顶点之前,我们有 #[ #show: math_numbering $ bf(P)(v in X)=1/(n-dd(v)) $ ] 其中 $bf(P)(e)$ 表示事件 $e$ 发生的概率。另一方面,考虑 $X$ 的组合意义,注意到 $X$ 中的顶点集合形成一个团(图 $G$ 的子图,并且是完全图),所以一定有 $abs(X)<=2$,这给出 $ 2>=bf(E)(abs(X))=sum_(v in V)bf(P)(v in X)=sum_(v in V)1/(n-dd(v))>=n/(n-2m slash n) $ 其中 $bf(E)(a)$ 表示随机试验中变量 $a$ 的数学期望。第一个等号使用了数学期望的定义,第二个等号使用了@P4prove3eq,第二个不等号利用了函数的凸性,也即琴生不等式。这个式子整理得到 $m<=n^2 slash 4$,原命题得证。 #identp 这个证明使用了现代组合学中的一种名为“概率方法”的技术。在这种方法中,人们以一种巧妙的方式向确定性问题中引入随机性来得到一个确定性的结果。 ] #pagebreak_until_odd() #problem_type.update((geometry_icon,)) = 无交点的匹配方案 #identp 平面上有红色点和蓝色点各 $n$ 个,且这 $2n$ 个点没有三个点共线。我们称一种红蓝点之间的配对方案合法,是指在每对点之间用线段连接后,得到的 $n$ 条线段没有交点。求证:一定存在一种合法的配对方案。 == 提示 #identp 形式化地说,设 $U={1,2,dots,n}$,红色点分别为 $p_1,dots,p_n$,蓝色点分别为 $q_1,dots,q_n$。一种配对方案是指 $U -> U$ 的一个双射 $f$。一种配对方案合法当且仅当线段集合 ${(p_k,q_{f(k)}):k in U}$ 中任意两条线段均不相交。 #identp 举个例子,对于红蓝各 3 个点的一种情况,下图为一种合法的配对方案, #align(center, stack( dir: ltr, figure(image( "./assets/p5-explain-ok.svg", width: 40%, ), caption: [一种合法方案]), figure(image( "./assets/p5-explain-bad.svg", width: 40% ), caption: [一种不合法方案]), ) ) #pagebreak() == 解答 #identp 红蓝各 1 个点的情况的情况是平凡的,下面均假设 $n>=2$。 #identp (反证法,无穷递降法)假设不存在一种合法的配对方案。从全部配对可能的方案中选出连接的线段长度之和最短的一种方案之一,根据反证假设一定存在两条线段相交。如图,设相交的两条线段的红色端点分别为点 $A$ 和点 $B$,蓝色端点分别为点 $C$ 和点 $D$,$A$ 和 $C$ 配对,$B$ 和 $D$ 配对,$A C$ 和 $B D$ 的交点为 $E$。 #figure(image( "./assets/p5-intersect.svg", width: 40% ), caption: [交点示意图]) #identp 根据三角形不等式(由于没有三点共线,等号一定不成立),一定有 #[ #show: math_numbering $ abs(A D)& $ abs(B C)& ] 将@P5eq1 和@P5eq2 相加,得到 $ abs(A D)+abs(B C) #identp 根据反证假设,有 $abs(a)$、$abs(b)$、$abs(c)$、$abs(a-b)$、$abs(b-c)$ 以及 $abs(c-a)$ 均为奇整数。 #identp 考虑定义了模 8 意义下的加法和乘法整数域 $bb(Z)_8$,容易发现其中任意一个奇数的平方一定为 1。据此,根据余弦定理和@P6eq1,得到 $ 2 inprod(a,b)=abs(a)^2+abs(b)^2-abs(a-b)^2=1 $ 类似的,有 $ 2 inprod(a,c)=1 $ $ 2 inprod(b,c)=1 $ ] #identp 构造 $bb(Z)_8^(3 times 3)$ 上的矩阵 $B$: $ B=mat(delim: "[", inprod(a,a),inprod(a,b),inprod(a,c); inprod(b,a),inprod(b,b),inprod(b,c); inprod(c,a),inprod(c,b),inprod(c,c)) $ 根据@P6eq1、@P6odd1、@P6odd2 与@P6odd3,有 $ 2B=mat(delim: "[", 2,1,1; 1,2,1; 1,1,2) $ #identp 我们用 $dim V$ 表示线性空间 $V$ 的维数,$frange T$ 表示线性变换 $T$ 的值域,$fnull T$ 表示线性变换 $T$ 的零空间(经过 $T$ 变为 $bf(0)$ 的向量构成的子空间)。容易验证 $dimrange 2B=3$,于是 #[ #show: math_numbering $ dimrange B=3 $ ] #identp 另一方面,构造 $bb(Z)_8^(3 times 2)$ 上的矩阵 $A$,满足 $ A=mat(delim: "[", a_1,b_1,c_1; a_2,b_2,c_2) $ 容易验证 $B=A^transpose A$,于是 $frange B subset.eq frange A^transpose$,另一方面,根据线性变换基本定理,有 $ dim bb(Z)_8^2=dimrange A^transpose+dimnull A^transpose $ 这说明,$dimrange A^transpose<=2$,与@P6eq2 联立,得到 $ 3=dimrange B<=dimrange A^transpose<=2 $ 这给出了 $3<=2$ 这样的错误的结果,故假设不成立,原命题得证。 #pagebreak_until_odd() #problem_type.update((geometry_icon,number_thoery_icon,algebra_icon)) = 格点正多边形 #identp 求证:如果一个正多边形的每个顶点的横纵坐标均为整数,那么它一定是一个正方形。 == 提示 #identp 每个顶点的横纵坐标均为整数的多边形常常被称为“格点多边形”。 #identp 这里所说的正 $k(k>=3)$ 边形是指一个有恰好 $k$ 条边(以及 $k$ 个顶点)的凸多边形,使得每一条边的长度都相等。一般而言,我们把正三边形叫做“等边三角形”,把正四边形叫做“正方形”。 #align(center, stack(dir: ltr, figure(image( "./assets/p7-triangle.svg", width: 30%, ), caption: [等边三角形]), figure(image( "./assets/p7-square.svg", width: 30% ), caption: [正方形]), figure(image( "./assets/p7-pentagon.svg", width: 30% ), caption: [正五边形]) ) ) #identp 事实上,题目中的整数也可以换成有理数,因为一个每个顶点的横纵坐标均为有理数的图形只要恰当放大一个比例就一定可以得到一个每个顶点的横纵坐标均为整数的图形。 #identp 显然存在许多正方形,满足每个顶点的横纵坐标均为整数。 #pagebreak() == 解答 A #identp 我们将给出两种不同的解答,在这个解答里,我们会使用“无穷递降法”来说明这个问题。 #identp 下面首先分类讨论对于等边三角形的情况,不妨设等边三角形的三个顶点分别为 $A(0,0)$、$B(b_1,b_2)$ 和 $C(c_1,c_2)$。于是根据勾股定理,有 $ cases(b_1^2+b_2^2=c_1^2+c_2^2,b_1^2+b_2^2=(c_1-b_1)^2+(c_2-b_2)^2) $ 把 $b_1$ 和 $b_2$ 看做常数,$c_1$ 和 $c_2$ 看做未知数,这组方程解得 $ cases(c_1=1/2 (b_1 - sqrt(3) b_2),c_2=1/2 (sqrt(3) b_1+b_2)) #tab #mtext("或") #tab cases(c_1=1/2 (b_1 + sqrt(3) b_2),c_2=1/2 (-sqrt(3) b_1+b_2)) $ #identp 由于 $sqrt(3)$ 是无理数,当 $b_1$ 和 $b_2$ 均为整数时,$c_1$ 和 $c_2$ 必定都是无理数,也即不是整数。因此,每个顶点的横纵坐标均为整数的等边三角形不存在。 #identp 在说明一般情况之前,我们首先要引入如下引理: #lemma_icon 一个横纵坐标均为整数的点绕着另一个横纵坐标均为整数的点旋转 $90 degree$ 后得到的点仍然是一个横纵坐标均为整数的点。(算出旋转后的点的坐标即可完成证明,读者自行验证该引理。) #identp 下面说明一般情况,(反证法,无穷递降法)假设存在格点正 $k(k>=5)$ 边形。从所有的格点正 $k$ 边形中找出面积最小的一个,设它的顶点按逆时针顺序依次为 $P_1,dots,P_k$。对于每个顶点 $P_i$,把它绕点 $P_(i-1)$(特别地,点 $P_1$ 绕点 $P_k$)逆时针旋转 $90 deg$,得到点 $Q_i$(如@P7fig1)。 #align(center, stack(dir: ltr, spacing: 5%, [#figure(image( "./assets/p7-solA-hexagon.svg", width: 40%, ), caption: [旋转后的得到的点]) ], [#figure(image( "./assets/p7-solA-hexagon2.svg", width: 40%, ), caption: [连接辅助线]) ] )) #identp 下面我们证明 $Q_1 dots.c Q_k $ 也是一个正 $k$ 边形(为了方便描述,我们给出 $Q_1 Q_2=Q_2 Q_3$ 的证明,其它的边之间的相等关系是同理可证的)。如@P7fig2,连接 $P_1 Q_1$、$P_1 Q_2$、$P_2 Q_2$、$P_2 Q_3$ 以及 $P_3 Q_3$ 五条线段。由于正多边的每个内角和每条边都相等,在 $trig P_1 P_2 Q_2$ 和 $trig P_2 P_3 Q_3$ 中,我们有 $ cases(P_1 P_2=P_2 P_3,angle P_1 P_2 Q_2=angle P_2 P_3 Q_3,P_2 Q_2=P_3 Q_3) $ 所以 $trig P_1 P_2 Q_2 tilde.eqq trig P_2 P_3 Q_3$(SAS),于是 $P_1 Q_2=P_2 Q_3$ 以及 $angle Q_2 P_1 Q_1=angle Q_3 P_2 Q_2$。类似的,在 $trig Q_2 P_1 Q_1$ 和 $trig Q_3 P_2 Q_2$ 中, $ cases(P_1 Q_2=P_2 Q_3,angle Q_2 P_1 Q_1=angle Q_3 P_2 Q_2,P_1 Q_1=P_2 Q_2) $ 所以 $trig Q_2 P_1 Q_1 tilde.eqq trig Q_3 P_2 Q_2$(SAS),这说明 $Q_1 Q_2=Q_2 Q_3$,于是 $Q_1 dots.c Q_k$ 也是一个正 $k$ 边形。因为 $k>=5$,正 $k$ 边形的每个内角均大于 $90 degree$,故点 $Q_1,dots,Q_k$ 均在多边形 $P_1 dots.c P_k$ 的内部,即多边形 $Q_1 dots.c Q_k$ 的面积小于多边形 $P_1 dots.c P_k$ 的面积,矛盾,故假设不成立。 #identp 综上所述,不存在格点等边三角形,也不存在格点正 $k$ 边形(其中 $k>=5$),故只可能存在格点正方形,原命题得证。 == 解答 B #identp 设格点三角形的三个顶点分别为 $A(0,0)$、$B(b_1,b_2)$ 和 $C(c_1,c_2)$。通过平行四边形割补,不难得出 $trig A B C$ 的面积 #[ #show: math_numbering $ S_(trig A B C)=1/2 abs(b_1 c_2 - b_2 c_1) $ ] 是一个有理数,而任意格点多边形都可以划分为若干个不相交的格点三角形。于是我们得出了这样一个引理: #lemma_icon 任意一个格点多边形的面积均为有理数。 #identp 另一方面,我们容易推导出正多边形的面积公式是 $ S=(n a^2)/(4 tan pi/n) $ 其中 $n$ 表示该正多边形的边数,$a$ 表示正多边形的边长。若该正多边形至少有一条边的两个端点的横纵坐标均为整数,则 $a^2$ 一定是一个有理数,故正多边形的面积 $S$ 是有理数当且仅当 $tan pi/n$ 是有理数。 #identp 由@P7solBeq1 我们知道,一个格点多边形的面积一定是一个有理数,因此我们只需说明“对于任意整数 $n>=3$,$n=4$ 当且仅当 $tan pi/n$ 是有理数”,即可完成对原命题的论证。这个命题可以很容易地使用抽象代数中关于“首一多项式”和“代数整数”的相关理论证明,下面则给出一个较为繁琐的初等方法。 #identp 我们首先用反证法说明奇整数 $n>=5$ 时,$cos^2 pi/n$ 的值为无理数。假设 $n>=3$ 是某个奇整数,且 $cos^2 pi/n$ 的值为有理数,不妨设为 $p/q$,其中 $q>0$,且整数 $p,q$ 互质。于是 #[ #show: math_numbering $ cos pi/n=sqrt(p/q) #tab sin pi/n=sqrt(1-p/q) $ ] #identp 考虑对欧拉公式 $(cos pi/n+ii sin pi/n)^n=-1$ 使用二项式定理展开,得到 #[ #show: math_numbering $ sum_(k=0)^n binom(n,k) ii^k sin^k pi/n cos^(n-k)pi/n=-1 $ ] 取出@P7solBaexpand 两边的实数部分,并代入@P7solBabasic,得到 #[ #show: math_numbering $ sum_(k=0)^(floor(n\/2)) binom(n,2k)(-1)^k (1-p/q)^k (p/q)^(n/2-k)=-1 $ ] 我们知道 $q != 0$,于是我们可以在@P7solBareal 两边同时乘以 $sqrt(q^n p)$,这给出 #[ #show: math_numbering $ sum_(k=0)^(floor(n\/2)) binom(n,2k)(-1)^k (q-p)^k p^((n+1)/2-k)=-sqrt(q^n p) $ ] #identp 当 $0<=k<=floor(n\/2)$ 时,由于我们假设 $n$ 为奇整数,故一定有 $(n+1)/2-k>=1$,同时 $binom(n,2k)$、$(-1)^k$ 与 $(q-p)^k$ 这三项一定均为整数,于是@PgirdsolBafinal 中左边的和式中的每一项都一定是 $p$ 的整数倍,于是 $sqrt(q^n p)$ 一定是 $p$ 的整数倍,也即 $gcd(p,q)=p$,又因为 $p,q$ 互质,于是一定有 $p=1$,也即 $cos^2 pi/n=1/q$。 #identp 至此,我们论证了对于每个奇整数 $n>=3$,要么 $cos^2 pi/n$ 是无理数,要么存在正整数 $q$ 使得 $cos^2 pi/n=1/q$ 。对于每个 $n>=5$,一定有 $ 1>cos^2 pi/n>=cos^2 pi/5=1/16 (1+sqrt(5))^2>1/3 $ 于是不存在一个正整数 $q$ 使得 $cos^2 pi/n=1/q$。 #identp 综上所述,对于每个奇整数 $n>=5$,一定有 $cos^2 pi/n$ 是无理数。更进一步地,有 $cos pi/n$ 也是无理数。 #identp 对于一个整数 $n>=4$,我们可以把它写成 $n=p 2^k$ 的形式,其中 $p$ 是一个奇整数,$k$ 是一个自然数。下面我们对 $k$ 使用数学归纳法以证明“对于每个 $n>=4$ 均有 $cos pi/4$ 为无理数”。 #identp 具体地说,用 $P(k)$ 表示关于自然数 $k$ 的命题模式“对于任意奇整数 $p$ 满足 $p 2^k>=4$,均有 $cos pi/(p 2^k)$ 是无理数”。显然 $P(0)$ 我们前面已经证明过的奇数情况,故 $P(0)$ 成立。 #identp 现在假设 $P(k)$ 成立,目标是证明 $P(k+1)$ 也成立。根据余弦函数的倍角公式(也称“升幂/降幂公式”)$cos 2alpha=2cos^2alpha-1$,于是 $ cos pi/n=2cos^2 pi/(2n)-1 $ 因此如果 $cos pi/n$ 是无理数,那么 $cos pi/(2n)$ 也是无理数。当 $p 2^k>=4$ 时,向这个结论代入 $n=p 2^(k+1)$:根据归纳假设有 $cos pi/(p 2^k)$ 是无理数,于是 $cos pi/(p 2^(k+1))$ 也是无理数。而当 $p 2^k<4$ 但是 $p 2^(k+1)>=4$ 时,显然 $p 2^(k+1)$ 的值只能为 4 或 6,并且容易发现 $ cos pi/4 = sqrt(2)/2 #tab cos pi/6=sqrt(3)/2 $ 亦均为无理数,于是 $P(k+1)$ 成立。 #identp 根据数学归纳原理,对于任意自然数 $k$,$P(k)$ 成立。也就是说,我们证明了对于任意的 $n>=4$,均有 $cos pi/n$ 为无理数。 #identp 下面我们开始说明对于除了 1,2 和 4 之外的正整数 $n$,$tan pi/n$ 都是无理数。首先,根据正切函数的余弦方程(中文语境也称“万能公式”)$cos 2alpha=(1-tan^2 alpha)/(1+tan^2 alpha)$,有 $ cos pi/n=(1-tan^2 pi\/2n)/(1+tan^2 pi\/2n) $ 因此对于每个偶整数 $n>=8$,均有 $tan pi/n$ 为无理数。 #identp 另一方面,根据正切的余弦表达式 $tan^2 alpha=1\/cos^2 alpha-1$,有 $ tan^2 pi/n=1/(cos^2 pi/n)-1 $ 而我们之前已经证明了当 $n>=5$ 是奇整数时,$cos^2 pi/n$ 是无理数,故对于任意奇整数 $n>=5$,$tan pi/n$ 都是无理数。 #identp 最后,容易发现 $ tan pi/3=sqrt(3) #tab tan pi/6=sqrt(3)/3 $ 亦均为无理数。 #identp 综上所述,对于除了 1,2 和 4 之外的正整数 $n$,$tan pi/n$ 都是无理数。