首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Prolog中添加偶数元素-带有“amt”变量的问题

在Prolog中添加偶数元素-带有“amt”变量的问题
EN

Stack Overflow用户
提问于 2010-12-11 16:16:22
回答 1查看 321关注 0票数 0

我正在努力弄清楚如何在列表中添加一些元素(我已经研究过一些例子,但还不能单独完成,需要您的帮助,以确定我对特定领域缺乏理解)。

我使用的输入是start(1,2,3,4,5)。没有编译错误,但我没有任何输出。我不知道您所建议的逻辑错误is..could是什么?

(请参阅下面的最新更新,在修改了我的代码之后,它现在起作用了,问题在于我使用'amt‘的方式,但我不知道为什么!)

未起作用的原始代码:

代码语言:javascript
复制
start(X):- add(X,1,amt), write(amt).

add([],_,0).  
add([H|Tail],Cnt,amt):-
  T is (Cnt mod 2), T == 0, Cnt1 is Cnt + 1, add(Tail,Cnt1,Y), amt is H+Y; 

  T is (Cnt mod 2), T =\=0, Cnt1 is Cnt + 1, add(Tail, Cnt1, amt).

最新更新:

我用“S”代替了“amt”,它起作用了!但是为什么它不能与'amt‘一起工作?

下面是修改后的代码:

代码语言:javascript
复制
start(X):- add(X,1,S), write(S).

add([],_,0).  
add([H|Tail],Cnt,S):-
  T is (Cnt mod 2), T == 0, Cnt1 is Cnt + 1, add(Tail,Cnt1,Y), S is H+Y; 

  T is (Cnt mod 2), T =\=0, Cnt1 is Cnt + 1, add(Tail, Cnt1, S).

谢谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-11 16:39:09

你打算展示amt1吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4417606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档