蓄電池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