两个列表创建一个新列表,包括特定字母

时间:2018-06-05 18:55:15

标签: prolog

我需要创建两个列表,两个列表应该具有相同的大小。如果第一个列表具有示例chockolate而另一个列表具有chockolan。那么它应该是列表中的chockol M.我做的是:

%same_letters([Head| Tail], [Head| Tail2]) :-
 % same_letters(Head),
 %   same_letters(Tail, Tail2).

same_letters([Head| Tail], List) :-
    \+ same_letters(Head),
    same_letters(Tail, List).
m(c,h,o,c,k,o,l).
m(h,e,l,lo).

% length
length([],0).
length([H|T],L) :-
    length(T,L1),
    L is L1+1. 


?- same_letters([c,h,o,c,k,o,l,a,n], List).
List = [c,h,o,c,k,o,l] ;
?-same_letters([h,a,e,l,o).
List = [h,l,o]

%check if is in list
List=[c,h,o,c,k,o,l,a,n,h,a,e,l,o].              
List = [c,h,o,c,k,o,l,a,n,h,a,e,l,o]  
     member(c,h,o,c,k,o,l,a,n,h,a,e,l,o, List).           
List = [c,h,o,c,k,o,l,a,n,h,a,e,l,o|_]?

0 个答案:

没有答案