切月饼(平面/空间切割问题)
切月饼(平面/空间切割问题)
本文讨论了一个有趣的数学问题:如何通过切割月饼(平面或空间)来获得最多的块数。文章从简单的一维问题(切大饼)开始,逐步扩展到二维(平面切割)和三维(空间切割)问题,并给出了详细的数学推导过程。
问题提出
在空间内切一块够大够厚的月饼,切n刀最多分成多少块?
问题解决
平面内问题
我们先讨论二维平面内的问题,就是小学学过的切大饼(平面划分)问题,具体如下:
一张足够大的饼被一足够长的刀切n刀,最多可以切多少块?
问题可以抽象为:
在一平面内用n条直线切割一图形,最多可以将次图形分割为几部分?
我们来模拟一下:
可以发现,当前第n条割线穿过前n-1条割线所取得的图形分割数最大,并且,当当前割线编号为a时,最多可以再分割出a个图形。
即:
切割数 0 1 2 3 4 5 …
所获图形数 1 2 4 7 11 16 …
记切了n条线后取得的分割数最大值为$a_n$,则$a_n=a_{n-1}+n$,
特别的,$a_0 = 1$,
不难发现,当切割了n条线时:$a_n = (\sum_{i=1}^{n}i) + 1$
这就是计算机学科中的递推思想。
通俗来讲,就是等差数列求和:$a_n = \frac{n(n+1)}{2}+1$
问题得解。
空间内问题
我们不妨来尝试一下,先来切几刀。
切一刀:
切两刀:
切三刀:
最关键的,切四刀:
第四刀所对应的切割平面与其他切割平面的交线在平面的映射为:
可以发现,当前第n个平面穿过前n-1个平面所取得的空间立体分割数最大,并且,当当前割线编号为a时,最多可以再分割出a个图形。
用列表统计:
切割平面数 0 1 2 3 4 5 …
所得图形最大数 1 2 4 8 15 26 …
同样,数据单调递增,可用递推。
设$F(i)$为平面内直线切割i次所获最大切割数,前面已得结论:$F(i)=\left{ \begin{aligned} &F(0)=1\ &F(i-1)+i \end{aligned} \right.$
设$D(i)$为空间内平面切割i次所获最大切割数,由前面空间第四次切割在平面的映射,得递推公式:$D(i)=D(i-1)+F(i-1)$
化为求和公式,为:
\begin{align*}
D(i)&=D(i-1)+F(i-1)\
&=D(i-2)+F(i-1)+F(i-2)\
& ...\
&=D(0)+F(i-1)+F(i-2)+...+F(0)\
\end{align*}
即:
\begin{align*}
D(i)&=(\sum_{j=1}^{i-1}F(j))+(i-1)+2\
&=(\sum_{j=1}^{i-1}\sum_{p=1}^{j}p)+(i-1)+2\
&=[\sum_{j=1}^{i-1}{(\frac{j(j+1)}{2})}]+(i-1)+2\
&=\frac{1(1+1)}{2}+\frac{2(2+1)}{2}+...+\frac{(i-1)i}{2}+(i-1)+2\
&=\frac{1}{2}(12+23+...+(i-1)i)+i+1\
&=\frac{1}{2}[ (1^2+2^2+3^2+4^2+……+i^2) - (1+2+3+……+i ) ] + i+ 1\
&=\frac{1}{2}[\frac{i(i+1)(2i+1)}{6}-\frac{i(1+i)}{2}]+i+1\
&=\frac{1}{2}(\frac{2i^3+3i^2+i}{6}-\frac{i^2+i}{2})+i+1\
&=\frac{1}{2}(\frac{2i^3-2i}{6})+i+1\
&=\frac{i^3-i}{6}+i+1\
&=\frac{i^3+5i}{6}+1
\end{align*}
带入原问题:
在空间内切一块够大够厚的月饼,切n刀最多分成多少块?
综上:最多可以切成$(\frac{n^3+5*n}{6}+1)$块
问题得解。
拓展:
有一个t维图形,用一个t-1维图形切割n次最多可以将此图形分割为多少个t维图形?
设:$D(i)$为t维图形切割n次所得最大值,$T(i)$为t-1维图形切割n次所得最大值,
结论:$D(i)=D(i-1)+F(i-1)$
请自证。