记得念大学时,有一份《上海科技报》,曾经有这样一题,将12均匀分成几份整数后,各部分相乘乘积最大。题目不难,试了几下后知道,分成三份后,43=64。也可分成六份,26=64。直到这一步,还看不出和程咬金有何瓜葛,似乎是哗众取宠了。当时已学过极值,再想了一下,如果是别的数N,同样的问题会是什么答案。原来普遍解是e,极值为eN/e。这时才开始对这位“程咬金”先生刮目相看,这个连小学生都会做的题,竟会扯出大名鼎鼎的超越数e = 2.71828。。。
小时候读《十万个为什么》,知道了超越数,对π当然十分尊敬,对这自然对数的底(当时还不懂对数),不过是敬而远之。以后学了极限,知道这e是如何出来的,但还是产生不了象对π那样的崇敬心情,觉得这只是数学家手上的一件高级玩具而已。直到见到这道题,才算领略到一点这家伙的厉害。以后学了微分方程,才知道e几乎是无处不在,电路方程,电波传送,简谐振子,只要和齐次方程沾边,e就逃不了干系。相比之下,老朋友π倒显得有点自叹不如了。大部分情况下,e出现在连续系统中,但在离散系统中也会出现,上面提到的“程咬金”即为一例。以后书念多了,也做了些研究工作,发现这样的例子真还有不少。
前些日子的(N)球(M)筐题目,如果球可辨认筐不可辨认,用常规方法解几乎不可能,或许就是不可能。但用生成函数来解确实轻而易举。令人意想不到的是,这个土的掉渣的题目,最后竟也和阳春白雪 e 分不开。如要求每筐至少有一球,答案竟然是(eX - 1)M中的X N的系数乘以N!/M!。这个例子称之为“程咬金”似乎也不为过。
如果我们有一长链,上面均匀地分布着原子。现在假定每两个相邻原子能形成分子,而且形成后不再分开,问最后没形成分子的原子有多少。答案是e-2。此问题有一等价表述,在空的一维晶格上随机放粒子,放粒子的格点的近邻不许再放,问最后平均密度是多少。答案是
(1-e-2)/2。现考虑2XN的梯子,用同样的条件和方法放粒子,问最后密度是多少。这问题由本人与博士后指导教授解出,答案是(1-1/(2e))/2。这些完全是正整数的问题,最后还是逃不出 e 的掌心。不信上帝的人,此时恐怕也会有点怀疑这是否是他老人家早就规划好的。
最后回到最近的酒鬼问题,也有人称为帽子问题。30个人30顶帽子,每个人都戴错的几率是多少。此题是更一般的“包含--排斥”问题(Inclusion-Exclusion)的一个特例。设共有N个元素,符合条件a的有N(a)个,符合条件b的有N(b)个,…,符合条件(a,b)的有N(a,b)个,…问不符合条件a,b,c,…的元素有多少。答案是
N - {N(a) + N(b) + …} + {N(a,b) + N(a,c) +…} - {N(a,b,c) + …} + …
其意义是第一次减的太多,第二次补上又加回太多,然后再减,直至正好。现在的条件a,b,c,…就是每人都戴自己的帽子
N! - C(N,1)(N-1)! + C(N,2)(N-2)! - … + (-1) N C(N,N)
= N! {1 - 1/1! + 1/(2!) - … + (-1) N/N!}
= round(N!/e)。
这些以正整数开头的题目以超越数e告终,其实并非偶然。排列组合问题往往和阶乘有联系,大家一定知道Sterling公式 N! ~= NlnN-N,只是其中的奥妙并非我等之辈三言两语能讲清楚。