Условия задачи:
Функция Аккерманна. Функция Аккерманна является рекурсивным математическим алгоритмом, который используется для проверки, насколько успешно система оптимизирует свою производительность в случае рекурсии. Разработайте функцию ackermann (m,n),
которая решает функцию Аккерманна. Примените в своей функции следующую логику:
Если m = 0, то вернуть n+1
Если n =0, то вернуть ackermann(m - 1, 1).
Иначе вернуть ackermann(m-1, ackermann(m, n-1).
После того как вы разработаете свою функцию, протестируйте ее с использованием
небольших значений для m и n.
Решение задачи:
def ackermann(m, n):
if m == 0:
return n + 1
elif n == 0:
return ackermann(m - 1, 1)
else:
return ackermann(m - 1, ackermann(m, n - 1))