Как получить 2 последних значения из списка в рекурсии и в хвостовой рекурсии?
Мне нужен предикатlast_two(LST,Y,Z)
that assigns the last value of a list to Z
and the second-to-last to Y.
How can I do it in recursion? and how can I do it in tail-recursion?
thanks!
Вот код с хвостовой рекурсией, могу ли я сделать его более эффективным?
<code>last2_2([_|[H1|[H2|T]]],Y,Z):-last2_2([H1|[H2|T]],Y,Z). last2_2([H1,H2],H1,H2). </code>