给出了具有分支因子b的大小为N的树的数量,并尝试生成Catalans数,而不使用单独的递归函数来生成嵌套的for循环数。
到目前为止,我已经尝试过
int catalan(int size, int b)
{
int n = 0;
int c = b;
if (size < 2)
{
return 1;
}
if (b <= 0)
{
return n;
}
while(c--)
{
for (int s = 0; s < size; s++)
{
n += (catalan(s,b) * catalan(size-1-s-c, b) );
}
catalan(size--,c);
}
return n;
}
对于4的大小和2的分支因子,我希望此函数返回14,但我收到21。
提前谢谢。