一块意大利馅饼,切N刀,最多可以切成多少份?
N条直线可以将一个平面分成多少个区域?
1条直线 2
2条直线 4
3条直线 7
这样想,第N条直线即使不与之前N-1条直线中的任何一条相交(实际上这种情况是很特殊的,要求所有N条直线都平行,这是违反切割策略的),它也切割了一个区域,而在此之外再每与一条直线相交,就多经过一个新的区域——因为所有区域都是凸的,所以一条直线只能经过一个区域至多一次,也就是说该直线与K条直线相交,就切割了K+1个区域,也就给该平面增加了K+1个区域,只要合理安排每条直线的角度和位置,就可以让所有直线都互不平行,且所有交点各不相同,这样第N条直线最多可以与N-1条直线相交,最多可以增加N个区域,所以:
L(N) = L(N-1)+N
解此递归式得:
L(N) = S(N)+1
其中S(N)= N(N+1)/2,称为三角形数。
一块厚的干乳酪,切N刀,最多可以切成多少份?
N个平面可以将一个空间分成多少个区域?
1个平面 2
2个平面 4
3个平面 8
这样想,一刀切下去出现一个新的平面,这个平面上面有多少个区域,就说明了它经过了多少个原有的3维区域,也就增加了多少个区域,而只要仔细安排所有平面的角度和位置,就能保证新增加的第N个平面与前面所有N-1个平面都相交,而且这N-1个平面在新平面上投射的直线也符合第一个问题中的关系,即这N-1条直线在第N个平面上形成了最多的区域L(N-1)个,这L(N-1)个区域所代表的3维区域都被第N个平面所经过,所以第N个平面所增加的区域数为L(N-1)个,即:
P(N) = P(N-1)+L(N-1)