Генератор за подмножество


Генератор на пролог за подмножество на друго. Като също може да разпознае дали дадено множество е подмножество на друго, без повтарящи се символи.
Ако има повторения генератора ще зацикли на първия символ пр. [3,3,3,3,3,….]

member(X,[X|L]).
member(X,[Y|L]):-member(X,L).

submn([],_).
submn([X|L1],[Y|L2]):-member(X,[Y|L2]),submn(L1,L2),not(member(X,L1)).
?-submn(X,[3,1,2,4,5]),write(X),1<0.

А за разпознаване на множество дали е подмножество на друго със повторения може да използвате това:

member(X,[X|L]).
member(X,[Y|L]):-member(X,L).

submn([],_).
submn([X|L1],L2):-member(X,L2),submn(L1,L2).
?-submn([3,3,3,3,4,5],[3,1,2,4,5]).
  1. Няма коментари.
(will not be published)