Форум программистов, компьютерный форум CyberForum.ru

Функция Аккермана без рекурсии - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
antonkw_sky
0 / 0 / 0
Регистрация: 20.01.2013
Сообщений: 3
20.01.2013, 19:46     Функция Аккермана без рекурсии #1
Задача:
A(0, n) = n + 1;
A(m, 0) = A(m–1, 1); при m > 0;
A(m, n) = A(m–1, A(m, n–1)); при m > 0 и n > 0.

С рекурсией она решается так (размер стека пришлось увеличить, дабы хотя бы (4;1), (5;0) считало):
C++
1
2
3
4
5
int AkkR(int m, int n)  {
  if(m==0 && n>0) return n+1;
  if(n==0 && m>0) return AkkR(m-1, 1);
  else return AkkR(m-1,AkkR(m, n-1));
}
Но вот надо еще как-то реализовать решение сей функции без рекурсии, 2-е сутки мозг плавится от циклов внутри циклов, но так ничего путевого в голову и не пришло. Буду благодарен любой подсказке.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2013, 19:46     Функция Аккермана без рекурсии
Посмотрите здесь:

C++ О 8 ферзях(Без рекурсии)
C++ Функция Аккермана
Нестандартная быстрая сортировка (без рекурсии) C++
C++ Рекурсия. Функция Аккермана.
C++ Функция Аккермана без рекурсии
C++ Сортировка слияниеим без рекурсии
C++ Написать функцию без рекурсии
Рекурсия без рекурсии C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nonedark2008
624 / 502 / 92
Регистрация: 28.07.2012
Сообщений: 1,343
20.01.2013, 20:22     Функция Аккермана без рекурсии #2
Ну рекурсивные задачи обычно переделываются в нерекурсивные при помощи стека, с помощью которого какбы эмулируется рекурсия. Например, решение есть сдесь. Правда не проверял решение, но...

Добавлено через 1 минуту
Правда на яве, но переделать ведь не сложно?
antonkw_sky
0 / 0 / 0
Регистрация: 20.01.2013
Сообщений: 3
20.01.2013, 20:28  [ТС]     Функция Аккермана без рекурсии #3
nonedark2008, спасибо, будем курить
Вроде бы то, что нужно: все никак не заведу привычки гуглить на английском.
Yandex
Объявления
20.01.2013, 20:28     Функция Аккермана без рекурсии
Ответ Создать тему
Опции темы

Текущее время: 16:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru