Функция Аккермана
Back Home Up Next

адача 17. Пусть n и m - целые неотрицательные числа. Написать рекурсивную программу, вычисляющую классическую в теории рекурсии функцию Аккермана:

                                       (4)

Решение. Вычислить функцию Аккермана, исходя непосредственно из определения (4), удается лишь для некоторых малых n и m. Связано это со сложностью и необычностью данного рекурсивного определения. В общем случае не только ak() вычисляется через ak(), но и второй из аргументов функции также требует рекурсивного вызова ak(). Соответствующая программа-функция может быть записана так:

Контрольные примеры:

Следующий вариант программы для вычисления функции Аккермана включает в себя лишь один рекурсивный вызов:

Замечание. Для m=0..4 справедливы соотношения [15, с. 69]:

Эти формулы могут оказаться полезными при построении контрольных примеров для отладки новых, более эффективных вариантов программ вычисления функции Аккермана.

В работе [15, c. 256-260] приведен нерекурсивный вариант алгоритма вычисления значений функции Аккермана.

Home Содержание Схемы ООД Доска объявлений Поиск