Подсписки чисел с заданной суммой - 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).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д