嘿,我对序言递归和迭代有点困惑。我分别给出了递归和迭代中列表总和的代码,并想知道它们中的每一个是否正确......
add_r([],0).
add_r([H|T],X) :- add_r(T,X1),X is H + X1.
add_i(List,Sum) :- add_i(List,0,Sum).
add_i([H|T],I,Sum) :- I1 is I + H , add_i(T,I1,Sum).
add_i([], I1, I1).
这里 add_r 是递归程序, add_i 是迭代的(根据我的说法)......我可能错了。这里的“I”用于迭代控制。
如果我错了,请纠正我。