sumList谓词需要检查它们的Sum是否等于列表中所有元素的总和

时间:2012-12-10 22:36:57

标签: prolog

我正在实施一种方法,在给定SumList时。它将检查如果你在列表中添加元素,它们的总和等于给定的总和。这是我到目前为止所做的,但我很确定这是错的......我不确定如何考虑它。

  sumList([],0).
  sumList([X|Xrest], Sum) :-
     sumList[Xrest, Sum1),
     Sum is X + Sum1.

你能否指出我正确的方向,或者至少让我知道如何考虑这个问题?

1 个答案:

答案 0 :(得分:1)

除了sumList[Xrest, Sum1)中的括号外,您的代码一切都很好。

所以,这在我的swipl

中效果很好
  sumList([],0).
  sumList([X|Xrest], Sum) :-
     sumList(Xrest, Sum1),
     Sum is X + Sum1.

?- sumList([1,2,3],X).
X = 6.