更新:答案有误,因为答案只证明了当\(n \to \inf\)时,从\(1/n, 2/n, \dots, (n-1)/n\)中平均要取\(e\)个数才能让和超过一,而当\(n \to \inf\)时,\(1/n, 2/n, \dots, (n-1)/n\)并不能和\((0, 1)\)中的实数一一对应。写这个日志的时候才上高中,不知知道可数集不可数集的概念。而且即使把题目改为取有理数,我给出的答案也是不对了。献丑了,哈哈哈。
题目来自Matrix67.com,原文链接http://www.matrix67.com/blog/archives/3507。
Matrix67牛给出了一个用微积分做的解答,当我看到这个题目的时候,我想到了另一个方法。
思考时间,答案在下面(字体是白色的)。
首先,将题目转化为平均要取多少个1到n-1中的随机数才能让和超过n。显然当n趋于无穷大时,这两个问题是等效的。
然后,解:
设f(x)表示平均取多少次才能大于x. 显然 f(x)=0 x<0 f(x)=1 x=0 对于x>0来说,设之前最后一次取得了i,那么i在1到n-1之间,且取到任意一个数的概率为1/(n-1). 所以 f(x)=sum{(1+f(x-i))/(n-1):1<=i<=n-1} =1+sum{f(x-i):1<=i<=n-1}/(n-1) =1+sum{f(t):0<=t<=x-1}/(n-1) (如果0<x<n) =1+sum{f(t):x-(n-1)<=t<=x-1}/(n-1) (如果x>=n) 对于0<x<n 令 F(x)=sum{f(i):0<=i<=x} 则 f(x)=1+F(x-1)/(n-1) ......[1] 所以 f(x-1)=1+F(x-2)/(n-1) ......[2] [1]式-[2]式得 f(x)-f(x-1)=(F(x-1)-F(x-2))/(n-1) 所以 (f(x)-f(x-1))*(n-1)=f(x-1) 所以 f(x)=f(x-1)*n/(n-1) =(n/(n-1))^x*f(0) =(n/(n-1))^x 所以 f(n)=1+sum{f(t):1<=t<=n-1}/(n-1) =1+sum{(n/(n-1))^t:1<=t<=n-1}/(n-1) =1+(n/(n-1))^n-n/(n-1) =(n/(n-1))^n-1/(n-1) lim(n->+oo) f(n)=(1+1/(n-1))^(n-1)*(1+1/(n-1))-1/(n-1) =e*1-0 =e