Пересечение списков-множеств - Prolog

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

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

Здравствуйте, помогите, пожалуйста, решить задачу. Заранее благодарна. Определите функцию, зависящую от двух аргументов u и v, являющихся списками, которая вычисляет список всех элементов, содержащихся одновременно и в u, и в v. Применить простую рекурсию.

Решение задачи: «Пересечение списков-множеств»

textual
Листинг программы
domains
int=integer
intl=int*
 
 
predicates
memb(int,intl)
inters(intl,intl,intl)
 
clauses
memb(_,[]) :- fail.
memb(X,[X|_]).
memb(X,[Y|T]) :- X<>Y, memb(X,T).
 
inters([],_,[]).
inters([H|T],Z,[H|R]) :- memb(H,Z), inters(T,Z,R),!.
inters([_|T],Z,R) :- inters(T,Z,R).

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


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

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

11   голосов , оценка 3.909 из 5
Похожие ответы