Определите предикатный подмножество (L, Sum, Subl), которое принимает список L чисел, число Sum и унифицирует SubL с подпоследовательностью L, так что сумма чисел в SubL равна Sum.Подмножество sum Пролог
Например
?- subsetsum([1,2,5,3,2], 5, SubSet);
SubSet = [1,2,2];
SubSet = [2,3];
SubSet = [5];
SubSet = [3,2];
No.
мы имеем
sum([H1 | [H2 | Tail]], S):-
sum([[H1+H2]|Tail], S):-
sum([X], X).
и
subset([],[]).
subset([H1|T1], [H1|T2]) :- // heads are the same
subset(T1, T2).
subset([_|Rest], X):
subset(Rest, X).
переменные ** MUST ** будет заглавной – CapelliC
я знаю, что у меня возникают проблемы, образующую функцию susbsetsum, благодаря –
меня экзамен через 2 часа .. Пожалуйста, кто-то мне помог –