我在理解 prolog 的流程时遇到了一些问题。这是代码:
h(X):- 1 is X mod 2, write(X), nl, 0 is X mod 3, !, fail.
h(_).
t(_,[],0).
t(M,[_|LS],1):-member(M,LS),write('member'), nl,fail.
t(_,[H|_],H).
r([X|LS],R):-h(X), M is 2*X+1,t(M, LS, R), write(R), nl, fail.
现在我正在运行 3 件事:1. r([3,7,9],R)。2. r([5,11,13],R)。3. r([2,3,5],R)。我无法理解我得到的答案。答案是:1. 3 错误。2. 5 11 错误。3.会员3假。
希望得到帮助!