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)

 


Autori[ ZADANIE | AKO ZAČAŤ | RIEŠENIE ]
Posledná aktualizácia 4. 9. 2001
back  home  next