Модераторы: Alx, Fixin
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Нерекурсивный алгоритм, Функция Аккермана 
:(
    Опции темы
Гость_Клим
Дата 28.10.2005, 16:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ребят, помогите! Задачка на олимпиаде:

Задача 2. Функция Аккермана I
Известно, что функция Аккермана A(m,n) определена для всех неотрицательных чисел m и n
следующим образом:
A(0,n)=n+1 (при n>= 0)
A(m,0)=A(m-1,1)(при m>0)
A(m,n)=A(m-1,A(m,n-1)) (при m,n>0)
Вычислите значения A(1,1) и A(2,0) используя рекурсию.

==================
Эту задачу я сделал, вот прога:
program chick;
uses Crt;
var a,k,m,n:integer;
function akerman(m,n:integer) :integer;
begin
if (n>=0) and (m=0) then akerman:=n+1;
if (n=0) and (m>0) then akerman:=akerman(m-1,1);
if (m>0) and (n>0) then akerman:=akerman(m-1,akerman(m,n-1));
end;

BEGIN
Clrscr;writeln('Vvedite m i n');
readln(m);
readln(n);

a:=akerman(m,n);
writeln(a);

readln;
end.


======================

Но следующая задача вытекает из предыдущей: надо сделать тоже самое
но без рекурсии!

Задача3. Функция Аккермана II
Функция Аккермана определяется, как описано в Задаче 2.
Напишите неркурсивный алгоримт вычисления по заданным m и n значения
функции Аккермана A(m,n)
Нерекурсивным является алгоритм, в описании которого не используется
напрямую или косвенно он сам.


Я че-то не догоняю!
smile
  Вверх
  
Закрытая темаСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Интересные и занимательные задачи по программированию | Следующая тема »


 




[ Время генерации скрипта: 0.0971 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.