Usas Python para resolver la fórmula recursiva de los números de Fibonacci, ¿pero no lo entiendes?
Primer diagrama
def f(n): si n==1 o n==2: devuelve 1 en caso contrario: devuelve f(n-1)+f(n-2 )
b=f(6)
print(b)
Código fuente (tenga en cuenta la sangría del código fuente)
No. Una imagen es un programa recursivo de la secuencia de Fibonacci. El proceso es
f(6)=f(5)+f(4)=f(4)+f(3)+f(. 3)+f(2)=f(3)+f(2)+f(2)+f(1)+f(2)+f(1)+f(2)
= f(2)+f(1)+f(2)+ devolver n*fact(n-1)
b=fact(5)
imprimir(b) p>
Código fuente (tenga en cuenta la sangría del código fuente)
La segunda imagen muestra el programa recursivo de factorial, el proceso es el siguiente
fact(5)= 5* hecho(4)=5*4*hecho(3)=5*4*3*hecho(2)=5*4*3*2*hecho(1)=5*4*3*2*1* fact( 0)
Debido a que fact(0)=1, la fórmula anterior =5*4*3*2*1*1=120
Explicación detallada:
Debido a que n es igual a 5, ejecutar la instrucción else devolverá 5*fact(4)
n es igual a 4, por lo que ejecutar la instrucción else devolverá 4*fact(3) p>
n es igual a 3, por lo que ejecutar la instrucción else devolverá 3*fact(2)
n es igual a 2, por lo que ejecutar la instrucción else devolverá 2*fact(1)
n es igual a 1, por lo que ejecutar else La declaración devolverá 3*fact(2)
n es igual a 2, por lo que ejecutar la instrucción else devolverá 2*fact( 1)