【发布时间】:2014-12-08 08:25:56
【问题描述】:
我必须编写一个谓词来汇总列表中的所有项目。这些项目可以是一个列表,其中包含列表列表。例如, sum1([1,[2,3],4,[5]],X)。 我有一些应该可以工作的代码,但是给出的参数没有充分实例化错误。我对序言很陌生,但这些对我来说还不错。这是我这个谓词(函数)的完整代码
suml([],0).
suml([H|T],X) :- atomic(H),S2 is H + X, suml(T,S2).
suml([H|T],X) :- suml(H,S1), S3 is S1 + X, suml(T,S3).
【问题讨论】: