- 最后登录
- 2013-11-11
- 在线时间
- 873 小时
- 阅读权限
- 40
- 注册时间
- 2008-9-15
- 积分
- 1194
- 帖子
- 924
- 精华
- 6
- UID
- 44804
- 性别
- 保密
- 积分
- 1194
- 帖子
- 924
- 精华
- 6
- UID
- 44804
- 性别
- 保密
|
17#:第一题的总概率应该是以下数列的总和。
数列通项公式:A(n)=K(n) * 0.5^(3*n+1) (n>=0)
其中 K(0)=1 , K(1)=1 , K(2)=3
而K(n) 可以从 K(n - 3) 来求出,使用以下3重循环:
-----------------------------------------------------------
K(n)=0
For k = 2 * n - 1 To 2 * n - K(n - 3) Step -1
For j = 5 To k
For i = 3 To j
K(n) = K(n) + i
Next i
Next j
Next k
-------------------------------------------------------------------------
17# 中得出的计算K(n) 的三重循环公式,是观察16#的变化规律得出的,n=3,n=4,n=5都符合正确的结果,但计算n=6时,却出现了错误。所以千万不要想当然,想当然会出大错的。
实际上K(n) 的递推公式可以是如下:
K(0) = 1
K(1) = 1
---------------
K(n) = Combination(3 * n - 2, n) Combination(A,B)表示组合数 从A个中任取B个的组合数。
For i = 0 To n - 2
K(n) = K(n) - K(i) * Combination(3 * n - 3 - 3 * i, n - i)
Next i
------------------
用 甲157 表示甲在第1、5、7轮次胜出
K(0) 表示第一轮次乙就超过甲的总情况数,即 乙1 一种情况。
K(1) 表示第四轮次乙才超过甲的总情况数,只有 甲1(即乙234) 一种情况。
K(2) 表示第七轮次乙才超过甲的总情况数,只有 甲12,13,14 三种情况。
K(n)表示第(3*n+1)轮次乙才超过甲的总情况数,可以这样计算:
最后3轮次必须都是乙胜出。甲总共胜出n次,乙总共胜出 2*n+1。
所以甲的胜出轮次都在前3*n-2 轮次中,总情况为 Combination(3 * n - 2, n) 种,但要减去以下情况。
乙在第一轮次就胜出的情况,即甲在第2轮次至第3*n-2轮次中胜出n次,总情况为K(0) * Combination(3 * n - 3, n)
乙在第四轮次就胜出的情况,即甲在第5轮次至第3*n-2轮次中胜出n-1次,总情况为K(1) * Combination(3 * n - 3-3, n-1)
……
乙在第(3*i+1)轮次就胜出的情况,甲在第3*i+2轮次至第3*n-2轮次中胜出n-i次,
总情况为K(i) * Combination(3 * n - 3-3*i, n-i)
……
乙在第(3*n-5)轮次就胜出的情况,甲在第3*n-6轮次至第3*n-2轮次中胜出2次,
总情况为K(n-2) * Combination(3, 2)
所以就得出了上述红字部分的递推公式,由于电脑记录整数有个上限,所以n 较大时会溢出。
K(n)只算出以下部分:
1,1,3,12,55,273,1428,7752,43263,246675,1430715,8414640,50067108,300830572,1822766520,
前n项的和,算出以下部分:
.5625,.5859375,.59765625,.6043701171875,.608535766601563,.611259460449219,.613107681274414,
.614397019147873,.615315955132246,.615982183720917,.616471980232745,.616836266388418,.617109870199783,
.617317094761347,
第一题概率的近似值比0.617略大点。
[ 本帖最后由 lulijie 于 2009-1-30 19:13 编辑 ] |
|