< Zpět na seznam úloh

10 Opakované umocňování

var names = ['a', 'b']
var datasets = [
  {argv:[42, 1], out: 42},
  {argv:[3, 3], out: 7625597484987},
  {argv:[5, 2], out: 3125},
  {argv:[2, 4], out: 65536},
]

Vztah mezi umocňováním, násobením a sčítáním je nasnadě: jedna operace vzniká opakováním druhé. Ještě před nimi je operace následníka, tedy n + 1, ale ta není moc zajímavá. Za nimi může následovat operace opakovaného umocňování, které se prý říká tetrace a můžeme ji psát jako ab. Lidsky řečeno, číslo b určuje, kolikrát číslo a umocníme samo sebou. V Pythonu není zabudovaná, protože není skoro k ničemu užitečná.

Protože umocňování není komutativní, musíme si ujasnit, že umocňovat začínáme od prava. Konkrétně definujeme:

Vaším úkolem je napsat funkci, která spočítá ab pro libovolná čísla a, b.

def main(a, b):
  return a

Rada: jestli začít zprava nebo zleva, je trochu na palici. Když vám budou vycházet moc malé výsledky, zkuste mezi sebou prohodit čísla, která umocňujete.