博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Catalan(卡特兰)数及定理的简要证明------附上简要代码
阅读量:4142 次
发布时间:2019-05-25

本文共 501 字,大约阅读时间需要 1 分钟。

        Catalan数很重要, 学计算机的, 没有不知道这个的, 我这个非计算机专业的学生, 也来凑凑热闹大笑

 

 

          catalan数和上述定理的应用非常普遍, 也是很多IT公司笔试面试的常考点之一, 其变换方式层出不穷, 有兴趣的朋友可以百度或者谷歌一下。

 

          根据上述catalan数的通项公式, 我们很容易求出递推公式, 于是可以用递归法来计算catalan数字, 如下:

 

#include 
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
 

 

 

 

你可能感兴趣的文章
又是缓存惹的祸!!!
查看>>
为什么要实现程序指令和程序数据的分离?
查看>>
我对C++ string和length方法的一个长期误解------从protobuf序列化说起(没处理好会引起数据丢失、反序列化失败哦!)
查看>>
一起来看看protobuf中容易引起bug的一个细节
查看>>
无protobuf协议情况下的反序列化------貌似无解, 其实有解!
查看>>
make -n(仅列出命令, 但不会执行)用于调试makefile
查看>>
make -k(keep going)命令会在发现错误时继续执行(用于一次发现所有错误)
查看>>
makefile中“-“符号的使用
查看>>
tars源码漫谈第18篇------tc_tea.h/tc_tea.cpp(TEA加解密)
查看>>
tars源码漫谈第19篇------tc_bitmap.h/tc_bitmap.cpp(位内存操作)
查看>>
tars源码漫谈第20篇------tc_mysql.h/tc_mysql.cpp(mysql API的封装)
查看>>
tars源码漫谈第21篇------tc_http.h/tc_http.cpp(http相关操作)
查看>>
tars源码漫谈第22篇------tc_buffer.h/tc_buffer.cpp(内存操作封装)
查看>>
tars源码漫谈第23篇------tc_buffer_pool.h/tc_buffer_pool.cpp(内存池操作)
查看>>
tars源码漫谈第24篇------tc_lock.h(基本锁)
查看>>
tars源码漫谈第25篇------tc_thread_rwlock.h/tc_thread_rwlock.cpp(读写锁)
查看>>
如何用matlab启动.exe文件?
查看>>
11 22 33 45 _?
查看>>
sql语句缺少倒引号导致的问题
查看>>
理解Go语言的nil
查看>>