Catalan数很重要, 学计算机的, 没有不知道这个的, 我这个非计算机专业的学生, 也来凑凑热闹:
catalan数和上述定理的应用非常普遍, 也是很多IT公司笔试面试的常考点之一, 其变换方式层出不穷, 有兴趣的朋友可以百度或者谷歌一下。
根据上述catalan数的通项公式, 我们很容易求出递推公式, 于是可以用递归法来计算catalan数字, 如下:
#include <stdio.h>
int catalan(int n)
{
if(0 == n || 0 == 1)
{
return 1;
}
return (4 * n - 2) * catalan(n - 1) / (n + 1);
}
int main()
{
int i = 0;
for(i = 0; i < 11; i++)
{
printf("%d--->%d\n", i, catalan(i));
}
return 0;
}
结果为:
0--->1
1--->1
2--->2
3--->5
4--->14
5--->42
6--->132
7--->429
8--->1430
9--->4862
10--->16796