作者dounts (忘記過去)
看板C_and_CPP
標題Re: [問題] 請問 C (n) 取 (m) 的 function
時間Sun Feb 22 03:06:31 2009
※ 引述《dounts (忘記過去)》之銘言:
: 大家好 我現在寫程式碰到一個問題
: 相信大家都學過 排列組合的 C (n) 取 (m)
: 我現在試著寫 我自己設定了 factorial function
: f(x) = x! (用 for-loop)
: 所以 C(n,m) = n! / m! * (n-m)!
: 這樣做在 n = 10 時可以
: 但在 n = 100 時就爆掉了
: 請問各位 怎麼處理這樣的問題呢
: 非常感謝 謝謝
基本上 我就是要寫 binomial distribution 的機率
但可能要寫到 1000 trials
所以有比較好的方法 可以讓數字不要爆調嗎
非常感謝各位 謝謝....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 64.131.237.93
1F:→ Splash5:要麼就大數 不然想辦法看有沒有化簡一些運算的方式 02/22 03:08
2F:→ james732:大一的時候有寫過速解法 不過我忘記是怎麼寫的了… 02/22 03:34
3F:→ james732:關鍵好像是 不要去算那麼大的階層 換個方法算 02/22 03:34
4F:推 LPH66:樓上正確 想想13!在int就爆了... 02/22 09:18
5F:推 llewxam:C(m,n) = C(m-1,n) + C(m-1,n-1) 用DP算 02/22 12:26
6F:推 littleshan:你是要輸出幾分之幾的精確機率嗎? 02/22 15:49
7F:→ littleshan:如果只是算幾趴 用double即可 02/22 15:49