Faktoriál n\ = 1 • 2 • 3 • • • n def faktoriál (n) : fakt = 1 for k in range(1, n fakt *= k return fa kt 0! = 1 n\ = n ■ (n- 1)! pro n > 0 def faktoriál(n): if n == 0: return 1 else: return n * faktoriál(n-1) 1 -00.0 Fibonacci {0 pro n = 0 1 pro n = 1 fib{n - 1) + fib{n - 2) jinak def fib(n): if n < 2: return n else: return fib(n-l) + fib(n-2) def fib(n) : a, b = 0, 1 for i in range(n-1): a, b = b, a + b return b Největší společný dělitel nsd(a, b) = \a ynsd{b, a - b) pokud b = 0 pro a > b nsd(a, b) = nsd(b, a) def nsd(a, b): if b == 0: return a else: return nsd(b, a % b) def nsd(a, b) while b ! = = 0: a, b = = b, a % b return a Rozcvička Napište rekurzivní funkce pro výpočet ■ /i-tého prvku posloupnosti definované takto: a0 = 0 = 2 • a/r + 1 ■ součtu přirozených čísel od 1 do N >» posloupnost(0) 0 >>> posloupnost(3) 7 >>> součet (5) 15 Hanojské věže /ičení 8 Napište funkci, která vypíše řešení Hanojských věží pro n kotoučů. »> hanoj (3, "A", "B", "C") Presun kotouč z A do B Presun kotouč z A do C Presun kotouč z E do C Presun kotouč z A do B Presun kotouč z C do A Presun kotouč z C do B Presun kotouč z A do B Vnořené čtverce Pomocí knihovny turtie napište rekurzivní funkci pro vykreslení vnořených čtverců. Další fraktály Rozcvička Hanojské věže Vnořené čtverce