Главная » Информационные системы » Представление знаний в ИС » Определите предикат для вычисления функции Аккермана ack(m,n)по следующим формулам: ack(0,n)=n+1, ack(m,0)=ack(m-1,1),ack(m,n)=ack(m-1,ack(m,n-1)) для m>0 и n>0.

Определите предикат для вычисления функции Аккермана ack(m,n)по следующим формулам: ack(0,n)=n+1, ack(m,0)=ack(m-1,1),ack(m,n)=ack(m-1,ack(m,n-1)) для m>0 и n>0.

  1. Определите предикат для вычисления функции Аккермана ack(m,n) по следующим формулам: ack(0,n)=n+1, ack(m,0)=ack(m-1,1), ack(m,n)=ack(m-1,ack(m,n-1)) для m>0 и n>0.

% Bilet20
% Patched 14.01.13
% To start type: jstart.
ack(0,N,F):-F is N+1.
ack(M,0,F):-M1 is M-1,
            ack(M1,1,F).
ack(M,N,F):-M>0,
            N>0,
            M1 is M-1,
            N1 is N-1,
            ack(M,N1,N2),
            ack(M1,N2,F).
jstart:- write(' Vvedite M: '),nl,read(IJAM1),nl,
write(' Vvedite N: '),nl,read(IJAM2),nl,
ack(IJAM1,IJAM2,F),
write(' F='),
write(F).


Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.

Поделиться
Дисциплины