Prolog 序言问题

Prolog 序言问题,prolog,Prolog,假设第三个参数是结果 a(1,[Hd | Tl],Hd)。 a(N,[Tl],Elem):- N>1, N1是N-1, a(N1,Tl,Elem) 我试图理解它的作用……它给出了列表的第n个元素。您可以阅读以下定义: a( 1, [Hd | Tl], Hd ). Hd是列表的第一个元素,即以Hd开头的列表,后跟列表Tl a( N, [ | Tl], Elem ) :- N > 1, N1 is N - 1, a( N1, Tl, Elem). Elem是列表的第N个元素当且仅当它是其尾

假设第三个参数是结果

a(1,[Hd | Tl],Hd)。 a(N,[Tl],Elem):- N>1, N1是N-1, a(N1,Tl,Elem)


我试图理解它的作用……

它给出了列表的第n个元素。您可以阅读以下定义:

a( 1, [Hd | Tl], Hd ).
Hd是列表的第一个元素,即以Hd开头的列表,后跟列表Tl

a( N, [ | Tl], Elem ) :- N > 1, N1 is N - 1, a( N1, Tl, Elem).

Elem是列表的第N个元素当且仅当它是其尾部的第N个元素,其中,
N1
N-1

我承认,我的序言不是它应该是的-但完全除此之外,我在这里遗漏了一个问题。。。