1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Procvičování otázek z kódovacích pohovorů v Pythonu

Connected

Cvičení

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?

Pokyny

50 XP

Možné odpovědi