Prechádzame zoznam tak, že rekurzívne voláme funkciu vždy na zvyšok zoznamu, pričom zmenšujeme jej argument n. Ak n=0, môžeme aktuálny zoznam vypísať.
Predpokladáme, že N bude menšie číslo ako je prvkov zoznamu,
inak treba pridať na začiatok podmienku ((null zoz) nil).
(defun NTHCDR (n zoz)
(cond ((= n 0) zoz)
(T (NTHCDR (- n 1) (rest zoz)))
)
)
Príklad:
(NTHCDR 3 '(a b c d e f)) -> (d e f)