擅长:python、mysql、java
<p>我假设您使用的是python3。在</p>
<p>您的<code>res /= (i + 1)</code>应该是<code>res //= (i + 1)</code>,以强制执行整数运算:</p>
<pre><code>def BinominalCoefficient(n,k):
res = 1
if (k > n - k):
k = n - k
for i in range(k):
res *= (n - i)
res //= (i + 1)
return res
def CatalanNumbers(n):
c = BinominalCoefficient(2*n, n)
return (c//(n+1))
print (CatalanNumbers(511))
</code></pre>
<p>退货</p>
^{pr2}$
<p>得到<code>nan</code>,因为python3中的除数/=返回一个溢出到<code>inf</code>的浮点。在</p>