如何在没有for循环的情况下计算Caltalan数?

时间:2017-12-08 00:09:43

标签: python-2.7

我有这个代码用于计算加泰罗尼亚语数字,但在代码中我使用了for循环。 如何在不使用任何循环的情况下执行此操作? 感谢您的帮助! 这是代码:

def catalan_rec(n):
    answer=0          
    lst_rec=[]
    if n==0 or n==1:
        return 1
    else:
        for i in range(0,n):
            answer+= (catalan_rec(i))*(catalan_rec(n-1-i))

        return answer

1 个答案:

答案 0 :(得分:0)

来自https://en.wikipedia.org/wiki/Catalan_number

的直接公式
from math import factorial

def catalan(n):
    if n == 0 or n == 1:
        return 1
    else:
        answer = factorial(2*n)/(factorial(n+1)*factorial(n))
    return int(answer)