它适用于诸如nth([1, 2, 3, 4, 5], 0, X).之类的查询,但对于诸如nth([1, 2, 3, 4, 5], N, 1).之类的查询,在我输入";“之后,在获得答案之后,我得到了一个我知道在这种情况下只会有1个ans,但为了完整起见,我想知道为什么。 我在stack overflow here上读到以下是一个更好的解决方案: nth([X|_], 0, X) :- !.在我的回答中,我想了解为什么M is N-1, nth(Y, M, Z).与nth(T, M, Z), N is M + 1相