作者jsb (jsb)
看板Fortran
標題Re: [問題] N!怎麼算
時間Tue Feb 10 23:50:15 2009
求 n!/m!/(n-m)! 的方法舉例:
7!/4!/3! = (7!/4!)/3!
= 7*6*5 / (3*2*1)
= (7/3) * (6/2) * (5/1)
= 35
10!/8!/2! = (10!/8!)/2!
= 10*9 / (2*1)
= (10/2) * (9/1)
= 45
呃. . . 這是學校的作業嗎?不然用 Excel 的 COMBIN(n,m) 算一下就有結果了啊!
如果是學校作業的話,版主請砍文吧!
※ 引述《papapenguin (葡萄柚你這頑固的東西~)》之銘言:
: 請問 n!怎麼計算。
: 當n很大時,程式該怎麼寫,數值才不會太大變成NaN的狀況?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.80.241
1F:→ jsb:順便提一下,這樣計算的方法用雙精度可以算到 C(1028,514) 02/12 13:13
2F:→ jsb:剛剛試過了。跟 Excel 的上限是一樣的。 02/12 13:14
3F:推 papapenguin:不是學校作業,我在做分配的機率計算~但要帶迴圈算... 02/12 22:16
4F:→ papapenguin:所以不能用excel算。感謝你的方法,我會先試試看的 02/12 22:17
5F:推 k1942:取log 變成相加,之後就可以反推了 試試吧 02/13 00:19