標題:
[發問]
機率問題(EX:39個號碼,五個號碼都在1~19的機率)
[打印本頁]
作者:
PKKO
時間:
2015-11-4 16:18
標題:
機率問題(EX:39個號碼,五個號碼都在1~19的機率)
想請問各位大大
這個機率問題小弟思考了很久仍不知道算法...
例如
1~39的號碼,一次抽五個號碼、不得重複
這五個號碼都出現在1~19的機率是多少?
四個號碼都出現在1~19的機率是多少?
三個號碼都出現在1~19的機率是多少?
二個號碼都出現在1~19的機率是多少?
只有1個號碼出現在1~19的機率是多少?
作者:
stillfish00
時間:
2015-11-4 20:10
回復
1#
PKKO
排列組合中 C(n,r)=n!/[r!*(n-r)!] ,!表示階層
五個號碼都出現在1~19,機率 = C(19,5)/C(39,5) = 0.020196
只有四個號碼出現在1~19,機率 =C(19,4)*C(20,1)/C(39,5) = 0.13464
只有三個號碼出現在1~19,機率 =C(19,3)*C(20,2)/C(39,5) = 0.31977
只有兩個號碼出現在1~19,機率 =C(19,2)*C(20,3)/C(39,5) = 0.33858
只有一個號碼出現在1~19,機率 =C(19,1)*C(20,4)/C(39,5) = 0.15989
作者:
PKKO
時間:
2015-11-5 10:12
回復
2#
stillfish00
S大大,我心中充滿了感激,只能說感謝感謝再感謝
沒想到您連這種數學題目都能如此詳盡的說明,真是太感謝
想再請教一下,若以VBA撰寫程式碼
C(39,5)
該如何撰寫程式碼呢?
作者:
stillfish00
時間:
2015-11-5 11:04
回復
3#
PKKO
'n階層 , return double
Function dblFactorial(n As Integer) As Double
dblFactorial = 1
For i = 1 To n
dblFactorial = dblFactorial * i
Next
End Function
'組合
Function dblCombination(n As Integer, r As Integer) As Double
'By formula method:
dblCombination = dblFactorial(n) / (dblFactorial(r) * dblFactorial(n - r))
' 'Speedup method (less multiply computations , allowed larger n):
' dblCombination = 1
' For i = 1 To Application.Min(r, n - r)
' dblCombination = dblCombination * (n - i + 1)
' Next
' dblCombination = dblCombination / dblFactorial(Application.Min(r, n - r))
End Function
Sub Test()
MsgBox "五個號碼都出現在1~19,機率 = " & Format(dblCombination(19, 5) / dblCombination(39, 5), "0.000000")
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)