Binominal Katsayılar yöntemiyle katalan sayılarını hesaplayan bir kodum var. i bu oluyor Neden fazla 510 n Katalan sayısını hesaplamak çalıştığınızda Python Katalan Sayılarını Hesaplama
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))
Ben "nan" sonucunu var? Ve bunu nasıl çözebilirim?
"Nan" değerini elde edersiniz, çünkü BinominalCoefficient (1022, 511) '' inf' döndürür. –
Python 3 kullanıyor musunuz? Eğer öyleyse, floatlardan kaçınmak için '//' tamsayı bölümünü kullanın (yine de bu hesaplama için onlara ihtiyacınız yoktur). –
Hangi python sürümünü kullanıyorsunuz? Her iki python 2.6.6 ve python 3.4.3 –