Задачка про воробья, дятла и синицу. - Prolog

Формулировка задачи:

1. Воробей, дятел и синица сидели на одной ветке. В каком порядке они сидели, если a. Синица сидела слева от дятла, а воробей слева от синицы b. Дятел сидел слева от синицы и справа от воробья c. Воробей сидел справа от синицы, а дятел справа от воробья. 2. Найти НОК (M, N), если НОК (M,N) = M*N/НОД(M,N)


textual

Код к задаче: «Задачка про воробья, дятла и синицу. - Prolog»

DOMAINS
 
PREDICATES
side(symbol,symbol, integer)
order(symbol,symbol,symbol, integer)
 
CLAUSES
side(sinica,dyatel,1).
side(vorobey,sinica,1).
side(dyatel,sinica,2).
side(vorobey,dyatel,2).
side(sinica,vorobey,3).
side(vorobey,dyatel,3).
order(X,Y,Z,N):- side(X,Y,N), side(Y,Z,N), X<>Y, Y<>Z.
order(X,Y,Z,N):- side(X,Y,N), side(X,Z,N), X<>Y, Y<>Z.
 
GOAL
order(X,Y,Z,N), write(N,": ",X," ",Y," ",Z), nl,
fail.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

11   голосов, оценка 3.818 из 5

Источник