Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/08/2012, 09:42
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Dive into Python - ejemplo de función

La función fib usualmente se le asigna a los números de fibonacci, pero veo que en este ejercicio lo que están implementando es la función recursiva para números factoriales.

La linea
Código Python:
Ver original
  1. n * fib(n - 1)
Significa que vuelve a llamar a la función fib con el argumento n - 1 y lo que devuelva lo multiplica por n (de ahí el signo *).

Por ejemplo:
Código:
fib(1) -> 1
fib(2) -> 2 * fib(1)
fib(3) -> 3 * fib(2)
fib(4) -> 4 * fib(3)
Ahora si haces las sustituciones correspondientes obtienes lo siguiente:
Código:
fib(1) -> 1
fib(2) -> 2 * fib(1) -> 2 * 1
fib(3) -> 3 * fib(2) -> 3 * (2 * fib(1)) -> 3 * (2 * (1))
fib(4) -> 4 * fib(3) -> 4 * (3 * fib(2)) -> 4 * (3 * (2 * fib(1))) -> 4 * (3 * (2 * (1)))