2
Предположим, что результатом является третий параметр.Prolog Вопрос
a (1, [Hd | Tl], Hd). a (N, [ | Tl], Elem): - N> 1, N1 - N - 1, a (N1, Tl, Elem).
Я пытаюсь понять, что это делает ....
Предположим, что результатом является третий параметр.Prolog Вопрос
a (1, [Hd | Tl], Hd). a (N, [ | Tl], Elem): - N> 1, N1 - N - 1, a (N1, Tl, Elem).
Я пытаюсь понять, что это делает ....
Это дает элемент Nth списка. Вы можете прочитать следующее определение:
a(1, [Hd | Tl], Hd).
Hd является первым элементом списка [Hd | Tl]
, то есть список, который начинается с Hd, за которым следует список Tl.
a(N, [ | Tl], Elem) :- N > 1, N1 is N - 1, a(N1, Tl, Elem).
Элем является Nth элемент списка, если и только если это N1
й элемент его хвоста, где N1
является N-1
.
Я признаю, что мой пролог - это не то, что должно быть - но полностью кроме этого, у меня нет вопроса здесь ... – Jasper