第n个卡塔兰数的C/C++程序是什么?

2023年 9月 12日 49.0k 0

卡塔兰数是一系列数字。卡塔兰数是一系列自然数,在各种计数问题中出现,通常涉及递归定义的对象。

第n个卡塔兰数的C/C++程序是什么?第n个卡塔兰数的C/C++程序是什么?

  • Cn是长度为2n的Dyck词的数量。Dyck词是由n个X和n个Y组成的字符串,使得字符串的任何初始片段中Y的数量不超过X的数量。例如,以下是长度为6的Dyck词:

XXXYYY XYXXYY XYXYXY XXYYXY XXYXYY.

登录后复制

  • 将符号X重新解释为开括号,将Y解释为闭括号,Cn计算包含n对正确匹配的括号的表达式的数量

((())) ()(()) ()()() (())() (()())

登录后复制

  • Cn 是 n + 1 个因子可以完全括起来的不同方式的数量(或者关联二进制的 n 个应用程序的方式数量)操作员)。例如,对于 n = 3,我们有以下四个因子的五个不同括号:

((ab)c)d (a(bc))d (ab)(cd) a((bc)d) a(b(cd))

登录后复制

  • 连续应用二元运算符可以用完全二叉树表示。(如果每个顶点要么有两个子节点,要么没有子节点,则称为根二叉树是完全的。)由此可知,Cn是具有n + 1个叶子的完全二叉树的数量:

示例

输入 - 6

输出 - 1 1 2 5 14 42

解释

当n = 0, 1, 2, 3,4,5,6,7,8,9,10, ...时,前n个卡塔兰数为

1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862,

例子

#include
using namespace std;
long int catalan( int n) {
if (n

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论