在数学的世界里,有一种神奇的数列,它既不是斐波那契数列,也不是素数序列,但它却拥有独特的魅力。它就是卡特兰数(Catalan Number)。今天,我们就来一起探讨卡特兰数的C语言实现,感受递归与组合的数学之美。
卡特兰数简介
卡特兰数是组合数学中的一个重要数列,由法国数学家欧仁·卡特兰(Eugene Catalan)在1838年首次提出。卡特兰数列的前几项如下:

| 项数 | 卡特兰数 |
|---|---|
| 0 | 1 |
| 1 | 1 |
| 2 | 2 |
| 3 | 5 |
| 4 | 14 |
| 5 | 42 |
| ... | ... |
卡特兰数在组合数学中有着广泛的应用,例如计数组合数、括号匹配、二叉树、多边形划分等。
卡特兰数的C语言实现
1. 递归实现
递归是解决卡特兰数问题的一种简洁方法。下面是一个使用递归实现的卡特兰数C语言代码示例:
```c
include
// 递归函数计算卡特兰数
long long catalan_recursive(int n) {
if (n <= 1) {
return 1;
}
long long res = 0;
for (int i = 0; i < n; i++) {
res += catalan_recursive(i) * catalan_recursive(n - i - 1);
}
return res;
}
int main() {
int n = 5; // 举例:计算第5个卡特兰数
printf("


