» » »

Определите предикат для вычисления функции Аккермана 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 by JamshyT 14.01.13
% Special for AISTd-31 :)
% 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).

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

Поделиться

Оплаченная реклама

Дисциплины