Python 程序中的第 N 个加泰罗尼亚数
pythonserver side programmingprogramming更新于 2025/12/20 17:16:17
在本文中,我们将学习如何计算第 n 个加泰罗尼亚数。
加泰罗尼亚数是由递归公式 − 定义的自然数序列
$$c_{0} = 1\;and\; c_{n+1} = \displaystyle\sum\limits_{i=0}^nc_{i} c_{n-i}\; for n\geq 0 ;$$
n = 0、1、2、3 的前几个加泰罗尼亚数……分别是 1、1、2、5、14、42、132、429,...................
Catalan 数既可以通过递归也可以通过动态规划获得。
那么让我们看看它们的实现。
方法 1:递归方法
示例
方法 1:递归方法
# 递归解决方案 def catalan(n): #负值 if n <=1 : return 1 # Catalan(n) = catalan(i)*catalan(n-i-1) res = 0 for i in range(n): res += catalan(i) * catalan(n-i-1) return res # main for i in range(6): print (catalan(i))
输出
1 1 2 5 14 42
所有变量和递归调用的范围如下所示。

方法 2:动态规划方法
示例
# 使用动态规划 def catalan(n): 如果 (n == 0 或 n == 1): 返回 1 # 划分表格 catalan = [0 for i in range(n + 1)] # 初始化 catalan[0] = 1 catalan[1] = 1 # 递归 for i in range(2, n + 1): catalan[i] = 0 for j in range(i): catalan[i] = catalan[i] + catalan[j] * catalan[i-j-1] return catalan[n] # main for i in range (6): print (catalan(i),end=" ")
输出
1 1 2 5 14 42
所有变量的作用域和递归调用如下所示。

结论
在本文中,我们学习了生成第 n 个加泰罗尼亚数的方法
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

