蓄电池Prolog的,我试图解决以下问题,用蓄电池:问题在序言
写谓词addone2 /它的第一个参数是整数列表,并且其第二个参数是通过将第一个列表中的每个整数加1得到的整数列表。例如,查询
addone([1,2,7,2],X).
应该给
X = [2,3,8,3].
我创建了下面的代码:
addone([], _).
addone([E|Tail], [R|Rs]) :-
NewE is E+1,
append([R|Rs], [NewE], NewRs),
addone(Tail, NewRs).
但它不工作。有人能告诉我为什么吗?那么,如何在Prolog中使用累加器呢?
谢谢!为了NewRs
谢谢你的帮助弗兰克!没有使用列表追加现在没有关于那个“窍门”。还要感谢anthares纠正我的基本情况! – 2010-11-22 09:06:39
谢谢弗兰克!这个技巧根本不明显,非常方便! – ProfVersaggi 2012-03-21 11:43:01