2012-12-10 30 views
1

我正在實現一種方法,當給出SumList。它會檢查看看,如果你添加列表中的元素,它們的總和等於給定的總和。這是我到目前爲止所要做的,但我確信它是錯誤的......我不確定如何去思考它。sumList謂詞需要檢查他們的總和是否等於列表中所有元素的總和

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

你能否給我一個正確的方向或至少讓我知道如何設法思考問題?

+2

你的代碼幾乎是OK。用'(',也就是'sumList(Xrest,Sum1)')替換sumList [XRest]中的'[' – gusbro

回答

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. 
相關問題