Определить, является ли заданный список палиндромом - Prolog

Узнай цену своей работы

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

Опишите функцию, определяющую является ли заданный список палиндромом.

Решение задачи: «Определить, является ли заданный список палиндромом»

textual
Листинг программы
  1. domains
  2. int=integer
  3. intl=int*
  4.  
  5. predicates
  6.  
  7. app(intl,intl,intl)
  8. rev(intl,intl)
  9. cmp(intl,intl)
  10. ispal(intl)
  11.  
  12. clauses
  13.  
  14. app([],X,X).
  15. app([H|T],X,[H|R]) :- app(T,X,R).
  16.  
  17. rev([],[]).
  18. rev([H|R],Q) :- rev(R,Z), app(Z,[H],Q).
  19.  
  20. cmp([],[]).
  21. cmp([],[_|_]) :- fail.
  22. cmp([_|_],[]) :- fail.
  23. cmp([X|T1],[X|T2]) :- cmp(T1,T2).
  24. cmp([X|_],[Y|_]) :- fail.
  25.  
  26. ispal(X) :- rev(X,RX), cmp(X,RX).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы