Os números de Catalan são definidos pela seguinte recursão:
Alguns números desta sequência são: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786... Faça uma função recursiva que receba um número N e retorne o N-ésimo número de Catalan.
#include <stdio.h> float catalan(int); int main () { int n=4; printf("%.2f", catalan(n)); } float catalan(int n) { if(n==0) { return 1; } else if(n>0) { return 2*((2*n) - 1)/(n+1)*catalan(n-1); } }
Consegui fazer tudo corretamente, até fiz um teste de mesa com o meu algoritmo para verificar se estava realmente correto e deu tudo certo. Contudo, quando foi compilar deu erro, os números que estão sendo calculados estão errados. Ao informar o número 4, por exemplo, o resultado informado é 8, quando na verdade deveria ser 14.