Подсписки чисел с заданной суммой - Prolog

Узнай цену своей работы

Формулировка задачи:

Определите предикат subsum(+Set, +Sum,?SubSet) такой, что Set является списком чисел, SubSet- подмножеством этих чисел, а сумма чисел в SubSet равна Sum. например: ?- subsum([1,2,5,3,2],5,Sub). Sub=[1,2,3]; Sub=[2,3]; Sub=[5].
Написал такое решение
Как мне убрать последний результат Х=[3,2]?

Решение задачи: «Подсписки чисел с заданной суммой»

textual
Листинг программы
p4([H|T], N, [H|T1]) :-
    H =< N,
    !,     % <---- Вот отсечение:  если добрались до этой точки, остальные правила пропустить
    N1 is N-H,
    p4(T,N1,T1).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы