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