我正在编写 Python 代码以使用此处给出的数学公式生成加泰罗尼亚数字:
C(0) = 1 和 C(n) = (2(2n - 1) / (n + 1)) * C(n - 1) 每个网站在这里。(https://rosettacode.org/wiki/Catalan_numbers)
但是,当我在 python 中将它作为函数编写时,它给了我错误的结果。
例如:对于 20 答案应该是 6564120420.0 而我的代码给了我 344373768。
这里:
def catalan(cat_input):
if cat_input==0:
return 1
else:
return (((4*cat_input) - 2) / (cat_input + 1)) * (catalan(cat_input-1))
有人可以帮我解决这个问题吗?