【发布时间】:2014-04-04 18:47:01
【问题描述】:
我今天在 Prolog 中进行了一次考试,并且正在使用旧问题对其进行修改。
答案 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 不正确。仔细查看谓词并假装您是 prolog 解释器。然后将您的输入与 roght 子句匹配,看看会发生什么。
标签: prolog