1
我今天在Prolog上有一門考試,現在正在使用舊的問題修改它。prolog predicates - swap
答案c是不正確的答案?任何人都可以向我解釋這個嗎?這將是非常有益的。謝謝你,
考慮以下斷言:
swap([], []).
swap([X1, X2 | L], [X2, X1 | S]) :- swap(L, S).
下列哪個查詢和答案對不正確:
(a) ?- swap([a,b,c,d], S).
S = [b, a, d, c].
(b) ?- swap([a,b,d], H).
false.
(c) ?- swap([a,a,b,b], S).
S = [b, b, a, a].
(d) ?- swap([], S).
S = [].
C將是不正確的。仔細看看謂詞並假裝你是序言翻譯。然後將你的輸入與roght子句相匹配,看看會發生什麼。 – lurker