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