1. 程式人生 > >Catalan(卡特蘭)數及定理的簡要證明------附上簡要程式碼

Catalan(卡特蘭)數及定理的簡要證明------附上簡要程式碼

        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