ÎncepețiÎncepe gratuit

Calculează numărul de apeluri ale funcției

Să luăm un exemplu clasic de recursivitate – șirul Fibonacci, format din numere întregi nenegative începând cu 0, în care fiecare element \(F(n)\) este egal cu suma celor două elemente precedente: 0, 1, 1, 2, 3, 5, 8, 13, 21, .... Ți se oferă o funcție care returnează un tuplu cu al \(n\)-lea element al șirului și numărul de apeluri la fib() utilizate:

def fib(n):

  if n < 2:
    return (n, 1)

  fib1 = fib(n-1)
  fib2 = fib(n-2)

  return (fib1[0] + fib2[0], fib1[1] + fib2[1] + 1)

Câte apeluri la fib() sunt necesare pentru a calcula al \(15^{lea}\) și al \(20^{lea}\) element al șirului?

Acest exercițiu face parte din cursul

Exersarea întrebărilor de interviu de programare în Python

Vezi cursul

Exercițiu interactiv practic

Transformă teoria în practică cu unul dintre exercițiile noastre interactive

Începe exercițiul