Re: [問題] 扔n次骰子,各種點數和的機率

作者: cismjmgoshr (--???--)   2015-01-20 22:46:50
※ 引述《o07608 (無良記者)》之銘言:
: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
: VC++ 2013
: 問題(Question):
: 我不太確定這種問題能否在這邊發問,不過還是會試著盡量詳述我的問題與想法
: 這次有個功課,是要寫一個能夠計算扔n次骰子,出現的點數和的機率
: 比方說,扔一次骰子,點數會有1~6,機率各是1/6
: 扔兩次骰子,點數會從2~12,機率則會分別是{1,2,3,4,5,6,5,4,3,2,1}/36
: 依此類推
數學一點的作法
擲n次骰子點數和為P的機率,等於下列方程式之中,x^P項的係數除以6^n
( x + x^2 + x^3 + x^4 + x^5 + x^6 )^n
n,P又會滿足下列兩個等式:
P1 + P2 + P3 + P4 + P5 + P6 = n
1*P1 + 2*P2 + 3*P3 + 4*P4 + 5*P5 + 6*P6 = P
其中, P1是n次擲骰子過程中,擲出1點的次數
P2是n次擲骰子過程中,擲出2點的次數
P3是n次擲骰子過程中,擲出3點的次數
P4是n次擲骰子過程中,擲出4點的次數
P5是n次擲骰子過程中,擲出5點的次數
P6是n次擲骰子過程中,擲出6點的次數
對於任意的n與P,寫個程式可以找出所有的P1,P2...P6組合
然後帶入多項式定理,算出x^P項係數
......想到這邊我覺得還是DP比較好寫
作者: LPH66 (-6.2598534e+18f)   2015-01-20 23:23:00
其實 DP 做法跟把這個多項式做 n 次方本質上是一樣的
作者: firejox (Tangent)   2015-01-21 16:23:00
用\FFT/

Links booklink

Contact Us: admin [ a t ] ucptt.com