Как мне написать программу prolog, которая суммирует только положительные числа?

#prolog

#пролог

Вопрос:

Я пытаюсь изучить prolog, и это небольшая программа, которая мне нужна, однако я не могу понять, как это сделать.

Кто-нибудь может мне помочь, пожалуйста?

У нас есть possum (S, K) .

Здесь S — список чисел. K — сумма положительных чисел.

?- possum([5,-1,3],K).

Должно быть выведено: K = 8.

Спасибо за ваше время!

Ответ №1:

 possum(L, X) :- include(<(0), L, P), sum_list(P, X).
 

Тест:

 ?- possum([5, -1, 3], X).
X = 8.
 

Комментарии:

1. Большое вам спасибо! Вы ОЧЕНЬ помогли!