作者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