Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 26.12.2013
Сообщений: 3
1

Вычисление функции Аккермана итерационно

26.12.2013, 16:13. Показов 1846. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста написать программу для вычисления функции акермана, не рекурсивным путём.
Прокопал интернет, ничего не нашёл. Сам понять не могу, как выполнить это итерационно. Буду благодарен, если кто поможет, сроки поджимают
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.12.2013, 16:13
Ответы с готовыми решениями:

Рекурсивное вычисление функции Аккермана
Помогите пожалуйста написать прогу... На языке программирования Pascal написать рекурсивную...

Рекурсия: вычислить значение функции Аккермана
Даны неотрицательные целые числа n,m; используя рекурсивную подпрограмму, вычислить значение...

Вычисление значения функции с помощью разложения функции в степенной ряд
составить программу для вычисления значения функции y=1/(1+x) с помощью разложения функции в...

Вычисление функции y=ch(x) с помощью разложения функции в степенной ряд
составить программу для вычисления функции y=ch(x) с помощью разложения функции в степенной ряд...

4
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,432
Записей в блоге: 8
26.12.2013, 16:49 2
С использованием стека. Вот тут: http://home.versatel.nl/vspick... kerman.htm есть 5 методов вычисления функции Аккермана (на Бейсике, но основное - идея, на Паскаль перевести - дело техники), третий и четвертый из этих методов - итеративны...
0
0 / 0 / 0
Регистрация: 26.12.2013
Сообщений: 3
26.12.2013, 19:13  [ТС] 3
Цитата Сообщение от UI Посмотреть сообщение
С использованием стека. Вот тут: http://home.versatel.nl/vspick... kerman.htm есть 5 методов вычисления функции Аккермана (на Бейсике, но основное - идея, на Паскаль перевести - дело техники), третий и четвертый из этих методов - итеративны...
К сожалению, синтаксис бейсика мне не знаком. Может кто помочь с "переводом" на паскаль, пожалуйста?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,432
Записей в блоге: 8
26.12.2013, 19:27 4
Лучший ответ Сообщение было отмечено volvo как решение

Решение

Вот это, скажем, отработало в TP7 только что:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const
  tsize = maxint div 2 div sizeof(integer);
var
  s : array[1 .. tsize] of integer;
  d : integer;
 
function IterAckermann(m, n : integer) : longint;
var t : integer;
begin
  t := 1;
  s[t] := m;
  repeat
    m := s[t]; dec(t);
    if m = 0 then
      inc(n)
    else if n = 0 then
    begin
      inc(t); s[t] := m - 1;
      n := 1
    end
    else
    begin
      inc(t); s[t] := m - 1;
      inc(t); s[t] := m;
      dec(n);
    end;
 
    if t > d then
    begin
      d := t;
      if d > tsize then
        writeln('failure');
    end;
  until t = 0;
  IterAckermann := n;
end;
 
begin
  d := 1;
  writeln(IterAckermann(3, 7));
end.
1
0 / 0 / 0
Регистрация: 26.12.2013
Сообщений: 3
26.12.2013, 19:54  [ТС] 5
Спасибо большое, очень выручил!
0
26.12.2013, 19:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.12.2013, 19:54
Помогаю со студенческими работами здесь

Рекурсивное вычисление функции Аккермана
Составить программу вычисления значений функции Аккермана для неотрицательных чисел n и m, вводимых...

Рекурсия: вычисление функции Аккермана
Обчислити рекурсивним методом значення математичної залежності, заданої рекурентною формулою, для...

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

Вычисление функции Аккермана. Код есть, но он не считает со значением 3 и выше
predicates ack(integer,integer,integer) clauses ack(0,N,Val):-Val=N+1....


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru