Результат работы предиката в виде головы с неопределённым хвостом - Prolog
Формулировка задачи:
Есть задача:
И написал я такое решение:
Объясните, люди добрые, почему у меня результат выводится в виде головы с неопределённым хвостом?
Напишите предикат p(+V, -L) - истинный тогда и только тогда, когда список L получается после удаления всех повторных вхождений элементов в список V, например,
?- p([a, b, c, d, d, a], X).
X=[a, b, c, d];
No
Листинг программы
- p2([H|T],T1):- member(H,T1),!,p2(T,T1).
- p2([H|T],[H|T1]):- p2(T,T1).
- p2([],_).
Листинг программы
- ?- p2([a,b,c,d,d,a],X).
- X = [a, b, c, d|_G16068] ;
- false.
Решение задачи: «Результат работы предиката в виде головы с неопределённым хвостом»
textual
Листинг программы
- p2([H|T], T1) :-
- p2(T, T1),
- member(H,T1),
- !.
- p2([H|T], [H|T1]) :-
- p2(T, T1).
- p2([], []).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д