作业帮 > 综合 > 作业

用C语言或C++递归函数生成Catalan三角形的数

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/04 15:12:31
用C语言或C++递归函数生成Catalan三角形的数
【问题描述】
Catalan三角形是这样的一个三角形,它的每个元素都是其上面的元素与其左边元素的和.Catalan三角形每一行最后一个元素是前一行元素的和.
【任务要求】
设计递归生成Catalan三角形数的程序,使得输入一个行号n,输出n-1行的Catalan三角形.
【测试数据】
Catalan三角形的前7行为:
1
1 1
1 2 2
1 3 5 5
1 4 9 14 14
1 5 14 28 42 42
1 6 20 48 90 132 132
用C/C++都行,帮忙写一个实现代码
用C语言或C++递归函数生成Catalan三角形的数
#include
void Catalan(long long *arr1,long long *arr2 ,int n)
{
\x09if (n > 1) Catalan(arr2,arr1,n-1);
\x09*(arr1+1) = *(arr2+1) = 1;
\x09for (int i=1; i
再问: int catalan(int n,int m)
\x09{
\x09\x09if(n==m)
\x09\x09\x09return sum(n-1);
\x09\x09else
\x09\x09\x09return catalan(n-1,m)+catalan(n,m-1);
\x09}
我照着网上的自己改了下,写出来了,但是还是不太明白是什么意思,能帮我解释下吗catalan这个函数else后的代码不太明白,我是新手....
再答: else之后就是 再次调用catalan 函数 两次:catalan(n-1,m) 和catalan(n,m-1)
并把返回值相加 之后再返回这个 和