var names = ['a', 'b']
var datasets = [
{argv:[42, 1], out: 42},
{argv:[3, 3], out: 7625597484987},
{argv:[5, 2], out: 3125},
]
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 a
⇈ b
.
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:
a
⇈ b = a ** (a
⇈ b - 1)
, kde znaménko **
znamená umocňování,a
⇈ 0 = 1
.Vaším úkolem je napsat funkci, která spočítá a
⇈ b
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.