我在理解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.
现在我正在做三件事: 1. r([3,7,9],R)。 2. r([5,11,13],R)。 3. r([2,3,5],R)。 我无法理解我得到的答案。 答案是: 1. 3 假。 2. 5 11 假。 会员 3 假的。
希望得到帮助!