目标是生成加泰罗尼亚语数字!我的代码工作到 n = 30(我在 JAVA 中尝试了相同的算法,它完全正确,但是,python 发生了一些奇怪的事情,它在 n = 30 之后返回错误的数字。我完全确定存在问题关于舍入或格式,但我自己无法弄清楚!
def catalan(n):
if n < 0:
return -1
else:
if n == 0:
return 1
else:
c_n = (4*n-2)/(n+1)*catalan(n-1)
return int(c_n)