C语言计算卡特兰数(catanlan number)
卡特兰数(Catalan number),是组合数学中一种常出现于各种计数问题中的数列;本文使用C语言来计算卡特兰数;
使用递归实现
#include <stdio.h>
unsigned long int catalan(unsigned int n) {
if (n <= 1) return 1;
unsigned long int c = 0;
for (int i=0; i<n; i++)
c += catalan(i)*catalan(n-i-1);
return c;
}
int main() {
for (int n=0;n<10;n++){
printf("%ld ", catalan(n));
}
return 0;
}
输出:
1 1 2 5 14 42 132 429 1430 4862