如果我计算factorial(100)
然后我得到的答案是[1] 9.332622e+157
但是当我尝试计算更大的阶乘时,比如说factorial(1000)
我得到的答案是[1] Inf
有没有办法在计算阶乘时使用任意精度,以便我可以计算说factorial(1000000)
?
对于任意精度,您可以使用gmp
or Rmpfr
。对于具体阶乘gmp
offers factorialZ
and Rmpfr
has factorialMpfr
。所以你可以运行如下所示的东西
> Rmpfr::factorialMpfr(200)
1 'mpfr' number of precision 1246 bits
[1] 788657867364790503552363213932185062295135977687173263294742533244359449963403342920304284011984623904177212138919638830257642790242637105061926624952829931113462857270763317237396988943922445621451664240254033291864131227428294853277524242407573903240321257405579568660226031904170324062351700858796178922222789623703897374720000000000000000000000000000000000000000000000000
> gmp::factorialZ(200)
Big Integer ('bigz') :
[1] 788657867364790503552363213932185062295135977687173263294742533244359449963403342920304284011984623904177212138919638830257642790242637105061926624952829931113462857270763317237396988943922445621451664240254033291864131227428294853277524242407573903240321257405579568660226031904170324062351700858796178922222789623703897374720000000000000000000000000000000000000000000000000
HTH
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)