Red de conocimiento informático - Problemas con los teléfonos móviles - Usas Python para resolver la fórmula recursiva de los números de Fibonacci, ¿pero no lo entiendes?

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)

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)

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)