思路主要参照了知乎这个话题下德安城和安堇然的回答。自己再写一遍主要是为了加深理解。
首先直接给出结论:
在d维空间内,对于被切中的d维立体,每一刀将造成d-1维的划痕,将该d维立体分成两部分,则切n刀后得到的块数最多为:
f(d,n)=Σdk=0Ckn
其中,d表示维数,可以从0开始取,n表示切的刀数。
为了推导过程表述方便,我们要先给出一个符号定义:
nk−=n∗(n−1)∗⋯∗(n−k+1)
当 n=k 时,即上式等于 n!
我们再证明一个引理:
Σn−1r=1rk−=nk+1−−−k+1
方法是数学归纳法。
- 首先由于当 k>r 时, rk−=0 ,所以 n≤k 时,结果是0
- 所以我们从 n=k+1 时开始考虑: 此时
左式=kk−=k! ,
右式=(k+1)k+1k+1=(k+1)!k+1=k!=左式
得证: n=k+1 时, Σn−1r=1rk−=nk+1−−k+1 , - 令n=n+1
左