小编COM*_*COM的帖子

如何将prolog中的所有正数相加

我正在使用 swi-prolog 来获取给定列表中所有正整数的总和

到目前为止,这是我的代码,请帮助我解决哪里出错了

sumPos([] ,0).
sumPos([Head | Tail], X) :- Head > 0,
    sumPos(Tail, N), 
    X is N+Head.
Run Code Online (Sandbox Code Playgroud)

为了测试我正在使用

sumPos([1,-2,3,-5], X).
Run Code Online (Sandbox Code Playgroud)

答案应该是 X=4 但我得到了错误

prolog

1
推荐指数
1
解决办法
285
查看次数

标签 统计

prolog ×1