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
Interaktivní praktické cvičení
Proměňte teorii v praxi s jedním z našich interaktivních cvičení
Začít cvičení