嵌套的for循环(可变分支因子)的递归实现以生成加泰罗尼亚语数字

时间:2019-02-09 04:20:02

标签: c++ recursion catalan

给出了具有分支因子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。

提前谢谢。

0 个答案:

没有答案