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

分类: 计算机技术
推荐阅读:
PySide6 动态创建按钮数组 动态创建按钮数组在许多场合非常有用,特别是当你需要根据用户输入、数据量或其它条件来生成界面元素时;本片将演示如何使用PySide6来动态的创建按钮数组,并正确响应对应按钮的点击信号;
TypeError: 'str' object does not support item assignment 解决方法 引起 TypeError: 'str' object does not support item assignment 错误是因为尝试以下标的方式修改字符串导致的;在Python中,字符串是不可变类型,不能通过下标的方式直接更改某一字符;
PySide6使用Qt Designer创建的UI 在本文中,你将学会使用Qt Designer画出UI,并在Python中使用它;
Python getattr()函数 getattr() 函数是 Python 内置函数之一,用于获取一个对象的指定属性值。
Linux定时执行命令 在Linux下,可以通过一条命令即可实现在指定时间运行某个命令:
Rust line宏的用法和示例 在Rust中,line宏用于获取代码中当前的行号;通过在代码中使用line宏,开发者可以轻松地在编译时获取到所在位置地行号信息,从而实现更灵活地代码逻辑和调试方案。