Предикат нахождения множества - пересечения трех множеств - Prolog
Формулировка задачи:
Пожалуйста, помогите создать предикат нахождения множества пересечения трех множеств.
Решение задачи: «Предикат нахождения множества - пересечения трех множеств»
textual
Листинг программы
implement main open core class predicates member: (integer,integer*) nondeterm. clauses member(_,[]) :- fail. member(H,[H|_]). member(H,[_|T]) :- member(H,T). class predicates intersect: (integer*, integer*, integer*) nondeterm (i,i,o). clauses intersect([],_,[]). intersect(_,[],[]). intersect([H|T1],T2,[H|T3]) :- intersect(T1,T2,T3),member(H,T2). intersect([H|T1],T2,T3) :- intersect(T1,T2,T3), not(member(H,T2)). class predicates inters3: (integer*, integer*, integer*,integer*) nondeterm (i,i,i,o). clauses inters3(A,B,C,R) :- intersect(A,B,AB), intersect(C,AB,R). clauses run():- console::init(), inters3([1,2,3,4],[3,4,5,6],[3,4,7,9],R). end implement main goal mainExe::run(main::run).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д