Определить, является ли заданный список палиндромом - Prolog
Формулировка задачи:
Опишите функцию, определяющую является ли заданный список палиндромом.
Решение задачи: «Определить, является ли заданный список палиндромом»
textual
Листинг программы
domains int=integer intl=int* predicates app(intl,intl,intl) rev(intl,intl) cmp(intl,intl) ispal(intl) clauses app([],X,X). app([H|T],X,[H|R]) :- app(T,X,R). rev([],[]). rev([H|R],Q) :- rev(R,Z), app(Z,[H],Q). cmp([],[]). cmp([],[_|_]) :- fail. cmp([_|_],[]) :- fail. cmp([X|T1],[X|T2]) :- cmp(T1,T2). cmp([X|_],[Y|_]) :- fail. ispal(X) :- rev(X,RX), cmp(X,RX).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д