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

如需转载,请注明出处;本文地址:https://www.perfcode.com/p/catanlan-number-in-c.html