Ako základ možno použiť schému zobrazenie. Rekurzívne sa prechádzajú oba zoznamy zoz1 a zoz2 a vytvára sa výsledok. Predpokladáme, že zoznamy sú číselné. Pri nerovnakej dĺžke sa použije menší počet prvkov.
(defun nasobz (zoz1 zoz2)
(cond ((or (null zoz1) (null zoz2)) NIL)
(T (cons (* (first zoz1) (first zoz2)) (nasobz (rest zoz1) (rest zoz2))))
)
)
; Príklady:
(nasobz '(0 2 1) '(1 2 3)) ; -> (0 4 3)
(nasobz '(0 2 1) '(1 2 3 4)) ; -> (0 4 3)