Мне дано количество деревьев размера 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.
заранее спасибо.