1
我想计算一个列表中交替元素的总和,但它不工作,它应该和我找不到问题......请帮助我。一个列表交替元素的总和
如果我有清单:[1,2,3,4]它应该返回1-2 + 3-4 = -2。
这是我的代码:
poz(E,[],0):-!.
poz(E,L,N):-poz_aux(E,L,N,1).
poz_aux(E,[E|_],N,N).
poz_aux(E,[_|T],N,K):-
K1 is K + 1,
poz_aux(E,T,N,K1).
suma([],0).
suma(L,S):-suma_aux(L,S,L,0).
suma_aux([],S,_,S).
suma_aux([H|T],S,L,S1):-
poz(H,L,P),
P mod 2 = 1,
S2 is S1 + H,
suma_aux(T,S,L,S2).
suma_aux([H|T],S,L,S1):-
poz(H,L,P),
P mod 2 = 0,
S2 is S1 - H,
suma_aux(T,S,L,S2).