30從“猴子分桃子”談起
海灘上有一堆桃子,這是五個猴子的財產,它們要平均分配。第一個猴子來到海灘,它左等右等,未等來別的猴子,便把桃子平均分成五堆,還剩一個,它就把剩下的一個扔到海裏,自己拿起了5堆中的一堆。第二個猴子來了,它把剩下的桃子分成五堆,把剩下的一個又扔掉了,然後拿起一堆。以後每個猴子來了都是如此辦理,問原來至少有多少個桃子?最後海灘上至少剩下多少桃子?這就是著名的猴子分桃子問題。著名的英國物理學家狄拉克曾提出了一種解法,相當巧妙地解決了這個問題。
設原來桃子N個,而五個猴子分得的桃子數分別為A1,A2……A5,則得到
N=5A1+1
4A1=5A2+1
4A2=5A3+1
4A3=5A1+1
4A4=5A5+1
經過一係列的代換,就可以得到N=3121,4A5=1020
其實這個答案是受到問題中“至少”這一前提限製而得到的,如果不考慮“至少”這個條件,符合前麵關係式的答案是很多的。例如N=6246,4A5=2044;N=15621,4A5=5116等等。
但是使人感興趣的不在於所得答案的多少,而是在於這類問題是怎樣解出的,原來“猴子分桃子”就是這樣的一個數學問題,若A0=N,A1=15(N-1),5An+1=4An-1
求An
解:由5An+1=4An-1,5An=4An-1-1
兩式相減得:5(An+1-An)=4(An-An-1)
令Bn=An+1-An則有:Bn=45Bn-1
因此:
An= (An-An-1)+(An-1-An-2)+……+(A2-A1)+A1
=Bn-1+Bn-2+……+B1+A1
=1-(45)n-11-45B1+A1
=5B1[1-(45)n-1]+A1
又由於A1=15(N-1)
A2=15[45(N-1)-1]
則B1=A2-A1=-125(N+4)
於是:An=-15(N+4)[1-(45)n-1]+15(N-1)
=-1+4n-15n(N+4)
特別是當n=5時,有55(A5+1)=44(N+4)。由於5與4互質,則N+4必為55的整數倍,即N+4=55·P(P∈Z),同時A5+1=44·P令P=1即可求出前麵的結果。
從上麵的解法,我們看到,如果給定了必須的數列{an}的前幾項,再由給定的關於數列若幹連續的關係式,就可以由關係式推出一個新數列。因此,我們把這種關係式叫數列的逆推公式,由逆推公式得到的這種數列叫作逆歸數列。逆歸數列由於逆推公式的不同,因此求它的通項的方法也比較複雜。“猴子分桃子問題”在研究逆歸數列上確實起到了開路先鋒的作用。
31為什麼烏鴉不一定喝到水
還在上小學的時候,大概我們就知道了聰明的烏鴉投石喝水的故事。那時候,無不為烏鴉的辦法叫好,沒有人去考慮烏鴉是否真正能喝到水的問題?現在,我們從幾何學體積計算的角度,倒真要研究研究這個問題了,烏鴉一定能喝到水嗎?
不難想象,當烏鴉把各種各樣形狀的小石子扔到瓶裏時,石子之間是不可能沒有空隙的。如果石子間的空隙較大,而且原來瓶子裏的水又比較少,那麼即使把瓶裏扔進了很多石子(當然是有限的),水麵也不一定升到瓶口。隻有當瓶裏原有水的體積比所丟入的石子間全部空隙更大的時候,水才能充滿石子間的空隙,升到石麵上來,這樣烏鴉才能喝到水。
那麼瓶子到底應當有多少水,烏鴉才可能喝到水呢?
當然,這一個問題與石子的形狀及其排列方法是有關的。為了簡單起見,不妨我們假設烏鴉投進的石子都是大小一樣的球體,那麼很容易算出空隙部分的體積與瓶子體積的比大致是:
d3-πd36d3=48%
這就表示,按著上麵的條件,當瓶子裏放滿球形石子時,瓶裏所有空隙的總和,等於瓶的容積的一半稍小一些。假如烏鴉聰明得很,能使各個石子彼此間挨得更緊密,那麼至少空隙也得大於瓶子體積的13(計算麻煩一些)。由此看來,我們可以得出這樣的一個結果,瓶子裏原來的水至少也要占瓶高的三分之一,烏鴉才能喝到水。
我們這樣的計算當然也是實在為難烏鴉了,但是,從中不能不使我們在考慮這樣一個問題,在日常實際中,應當充分利用空間,減少浪費,將使我們獲得更高的效益。