рекурсивная реализация вложенных циклов for (переменных коэффициентов ветвления) для генерации каталонских чисел - PullRequest
0 голосов
/ 09 февраля 2019

Мне дано количество деревьев размера N с коэффициентом ветвления b, и я пытаюсь сгенерировать каталонское число без использования отдельной рекурсивной функции для генерации числа вложенных циклов.

Я пробовал этодо сих пор

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.

заранее спасибо.

...