domingo, 5 de septiembre de 2010

RECURSION: Fibonacci.c

Laboratorio de Lenguajes de Programación - Semana 4

CODIGO:
#include 

int fibonacci (int n) {
   if(n <= 1) 
      return n;
   else
      return (fibonacci(n - 1) + fibonacci(n - 2));
}

int main (void) {     
   int x;
   printf("Fibonacci -> ");
   scanf("%d", &x);
   printf("Fibonacci (%d) = %d", x, fibonacci(x));
   return 0;
}


¿Cómo funciona el código?

Una vez mas centremonos en el bloque recursivo
int fibonacci (int n) {
   if(n <= 1)
      return n;
   else
      return (fibonacci(n - 1) + fibonacci(n - 2));
}


Supongamos que int n = 5, entonces:

Aquí comienza la regresión

Asi la función main imprime el valor final de la sucesión fibonacci de 5, es decir Fibonacci (5) = 5

DESCARGA: fibonacci.c

1 comentario:

  1. Muy bien. En particular es bueno que explicas el flujo de control. Te pongo cinco puntos para el lab por esta entrada.

    ResponderEliminar