如何使用库调用计算C#中的阶乘?

mmr*_*mmr 6 c# factorial

我需要计算高达100左右的阶乘数!为了确定一系列硬币翻转式数据是否是随机的,根据贝叶斯概率的维基百科条目. 正如你在那里看到的那样,必要的公式涉及3个因子计算(但是,有趣的是,这些因子计算中的两个是沿着到第三个计算的方式计算的).

我在这里看到了这个问题,但我认为这个整数很快就会被吹灭.我也可以创建一个更加智能的因子计算功能(即,如果我有11!/(7!3!),根据wiki示例,我可以去(11*10*9*8)/ 3!),但这对我来说过早优化,在某种意义上我希望它能够工作,但我并不关心速度(还).

那么,为了获得这个概率,我可以调用什么样的C#库来计算阶乘?我对可以进入阶乘计算的所有可怕性感兴趣,我只想以一种我可以操纵它的方式得到结果.在Math命名空间中似乎没有因子函数,因此问题.

Tru*_*ill 7

您可以尝试使用Math.NET - 我没有使用过该库,但它们列出了Factorial和Logarithmic Factorial.

  • 另请参阅 [Math.NET Numerics](http://numerics.mathdotnet.com) 中的 [相同](http://numerics.mathdotnet.com/api/MathNet.Numerics/SpecialFunctions.htm#Factorial),继任者链接的 Math.NET Iridium 库。 (2认同)