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

分类: 计算机技术
推荐阅读:
SEO基础:TKD是什么意思? TKD其实就是HTML语言中title、keywords、description的缩写;
PySide6模块的导入和使用 Qt拥有众多的模块帮助你构建应用程序,例如QtCore,QtGui,QtNetwork,QtOpenGL,QtQuick,QtQml,QtWidgets等等;本文将讲解PySide6常用模块的功能以及在Python中的导入和使用方法;
C程序计算二阶行列式的值 本文将使用C语言编写程序计算二阶行列式的值;程序通过定义一个2*2数组用于存储输入的二阶行列式;再通过前文的公式计算出二阶行列式的值;
Nginx隐藏和显示版本号 默认情况下,Nginx在返回Response时,会在Header中设置一个Server的参数,Server的值为web服务程序名及其版本信息;返回的404、503错误信息也会包含版本信息;因为Nginx的一些漏洞会在特定的版本中出现,暴漏的版本号就可能成为攻击者可以利用的信息;所以我们最好将版本信息隐藏。
Linux终端显示文件中的特定行 在Linux系统下,你如果想在终端显示文件中的指定行,那么你只需这一条命令:
PySide6 事件详细教程 在PySide6中,事件是GUI应用程序中用户交互和其它系统事件的基本构成块;PySide6中的事件允许您捕获和处理各种类型的事件,从而实现对用户界面的交互和响应;