Основные возможности платформы Hexlet не доступны в вашем браузере. Пожалуйста, обновитесь.

Практика: Функция Аккермана

Функция Аккермана — простой пример вычислимой функции, которая не является примитивно рекурсивной.

Она принимает два неотрицательных целых числа в качестве параметров и возвращает натуральное число, обозначается A(m,n). Эта функция растёт очень быстро, например, число A(4,4) настолько велико, что количество цифр в порядке этого числа многократно превосходит количество атомов в наблюдаемой части Вселенной.

Функция Аккермана определяется рекурсивно для неотрицательных целых чисел m и n следующим образом:

Akkerman

solution.js

Реализуйте и экспортируйте по умолчанию функцию Аккермана ackermann(m, n).

Примеры использования:

import ackermann from './solution';

ackermann(0, 0); // 1
ackermann(2, 1); // 5
ackermann(2, 3); // 9