Números de Catalan en Delphi

En combinatoria los números de Catalan forman una secuencia de números naturales que aparecen en varios problemas de conteo que habitualmente son recursivos. Obtienen su nombre del matemático belga Eugène Charles Catalan (1814–1894).

El n-ésimo número de Catalan se obtiene, aplicando coeficientes binomiales a partir de la siguiente fórmula:

C_n = \frac{1}{n+1}{2n\choose n} = \frac{(2n)!}{(n+1)!\,n!} \qquad\mbox{ con }n\ge 0.
Existen múltiples problemas de combinatoria cuya solución la dan precisamente estos números.

El código de la función recursiva en Delphi es:

function Catalan(n:integer):real ;
begin
if n=0 then
result :=1 //Condicion de parada
else result:=(2*((2*n)-1))/(n+1)*Catalan (n-1);
end;


procedure TForm1.Button1Click(Sender: TObject);
begin //Calcular el 16 número de catalan p.ej.
showmessage(floattostr(catalan(16)));

end;

Info:
http://www.delphiforfun.org/Programs/Math_Topics/Catalan.htm

No hay comentarios:

Publicar un comentario