¿Cómo obtener los 2 últimos valores de una lista en recursión y en recursión de cola?
Necesito un predicadolast_two(LST,Y,Z)
que asigna el último valor de una lista a Z y el segundo a Y. ¿Cómo puedo hacerlo en forma recursiva? ¿Y cómo puedo hacerlo en cola recursiva? ¡Gracias!
Aquí hay un código con recursión de cola, ¿puedo hacerlo más eficiente?
<code>last2_2([_|[H1|[H2|T]]],Y,Z):-last2_2([H1|[H2|T]],Y,Z). last2_2([H1,H2],H1,H2). </code>