二項係数の方法でカタロニア語の数値を計算するコードがあります。
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(510))
n が 510 を超えるカタロニア語の数を計算しようとすると、"nan" という結果になります。これはなぜですか? どうすれば解決できますか?