擅长:python、mysql、java
<p>您只需使用<code>math.factorial()</code>函数即可:</p>
<pre class="lang-py prettyprint-override"><code>>>> import math
>>> n = 1000000
>>> math.log(math.factorial(n))/(n*math.log(n)-n)
1.0000006107204127
</code></pre>
<p>但是,使用对数乘积规则,可以对<code>n</code>因子的自然对数求和(因为<code>log(a*b) = log(a) + log(b)</code>,<code>log(a!) = log(a) + log(a-1) + log(a-2) + ... + log(2) + log(1)</code>)</p>
<pre class="lang-py prettyprint-override"><code>>>> import math
>>> n = 1000000
>>> sum([math.log(i+1) for i in range(n)])/(n*math.log(n)-n)
</code></pre>