Začněte nyníZačněte zdarma

Spočítej počet volání funkce

Podíváme se na klasický příklad rekurze – Fibonacciho posloupnost tvořenou nezáporými celými čísly začínající od 0, kde každý prvek \(F(n)\) je součtem dvou předchozích: 0, 1, 1, 2, 3, 5, 8, 13, 21, .... Máš k dispozici funkci, která vrátí n-tici s \(n\)-tým prvkem posloupnosti a počtem volání fib():

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)

Kolik volání fib() je potřeba k výpočtu \(15.\) a \(20.\) prvku posloupnosti?

Toto cvičení je součástí kurzu

Procvičování otázek z kódovacích pohovorů v Pythonu

Zobrazit kurz

Interaktivní praktické cvičení

Proměňte teorii v praxi s jedním z našich interaktivních cvičení

Začít cvičení