domingo, 22 de febrero de 2009

Números de Catalan en C

Los números de Catalan se pueden encontrar recursivamente mediante la siguiente fórmula:
numeroscatalan
El código en C que clacula el n-ésimo número de Catalan es
[sourcecode language='cpp']#include
int Catalan(int n)
{
if(n<=0)
return 1;
else
return (2*(2*n-1)*Catalan(n-1))/(n+1);
}

void main( )
{
int n;
printf("Que numero Catalan quieres calcular?");
scanf("%d",&n);
printf("Catalan(%d) = %d",n,Catalan(n));
printf("\n");
}[/sourcecode]

2 comentarios:

  1. y como le insertas a ese programa las palabras de dyk o caminos de dyk, me comentaron que solo hay que hacer un ciclo e imprimirlo con los valores de dyk pero no se como hacerlo

    ResponderEliminar
  2. Hola,

    Ya vi lo de las palabras de dyk y hay que hacer un programa aparte. Los números de Catalan sólo te dicen cuantas palabras de cierta longitud hay, pero no te dicen como sacarlas.

    La forma que se me ocurre para sacra las palabras de dyk es usando la caraterizacion de que viene aqui:
    http://es.wikipedia.org/wiki/N%C3%BAmeros_de_Catalan
    "es el número de caminos monótonos que se pueden trazar a través de las líneas de una malla de n × n celdas cuadradas, de forma que nunca se cruce la diagonal."

    O sea,sacando los caminos monotonos sacamos las palabras de dyk.

    Si quieres que te ayude con esto de las palabras de dyk, por favor crea un tema en nuestro foro de ayuda en C/C++:
    http://foro-c.com/

    Saludos

    ResponderEliminar