Com a linguagem de programação Python, é possível realizar a...

Próximas questões
Com base no mesmo assunto
Q1008005 Programação

Com a linguagem de programação Python, é possível realizar a criação de funções recursivas, que são bastante úteis para resolução de problemas computacionais. Tendo isso em mente, analise o código em Python abaixo.


Imagem associada para resolução da questão


Nesse caso, ao executar o programa, o valor impresso será

Alternativas

Comentários

Veja os comentários dos nossos alunos

def f(i):

  if i == 1 or i == 2:

    return 1 

  return f(i-1) + f(i-2)

  return f(10-1) + f(10-2) = 9 + 8 = 17

  return f(9-1) + f(8-2) = 8 + 6 = 14

  return f(8-1) + f(6-2) = 7 + 4 = 11

  return f(7-1) + f(4-2) = 6 + 2 = 8

  return f(6-1) + f(2-2) = 5 + 0 = 5

  Result = 55

print(f(10))

F1 =1

F2=1

F3 = 2 (F2+F1)

F4 =3 (F3+F2)

F5=5 (F4 + F3)

F6=8 (F5 + F4)

F7=13 (F6 + F5)

F8=21 (F7+F6)

F9=34 (F8+F7)

F10 = 55 (F9+F8)

Algoritmo clássico das aulas de algoritmos da faculdade...FIBONACCI...

0,1,1,2,3,5,8,13,21,34,55

def f(i):

  if i == 1 or i == 2:

    return 1 

  return f(i-1) + f(i-2)

(print (F(10))

F=10

f(10-1) + f(10-2) = 9+8 = 17 (agora eu pego esses valores e coloco no lugar do ''i)

 return f(9-1) + f(8-2) = 8 + 6 = 14 (agora eu pego esses valores e coloco no lugar do ''i)

  return f(8-1) + f(6-2) = 7 + 4 = 11 (agora eu pego esses valores e coloco no lugar do ''i)

  return f(7-1) + f(4-2) = 6 + 2 = 8(agora eu pego esses valores e coloco no lugar do ''i)

  return f(6-1) + f(2-2) = 5 + 0 = 5

return (55) = 17+14+11+8+5

A questão é entender o método de Fibonacci , atribuindo o primeiro valor dado ''10'' e na sequência ir pegando os resultando obtidos com o método e aplicando em  return f(i-1) + f(i-2) .

Qual a lógica de f(9) ser 9 e f(8) valer 8? Só em programação mesmo.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo