Выбрать из списка каждый третий элемент - Lisp

Формулировка задачи:

Выбрать из списка каждый третий элемент и возвратить их в новый список. Помогите пожалуйста, совсем недавно начал учить лисп.

Код к задаче: «Выбрать из списка каждый третий элемент - Lisp»

textual
(defun thirds (w &optional ac)
  (if (cddr w) 
      (thirds (cdddr w) (cons (caddr w) ac))
      (nreverse ac)))
 
> (thirds '(1 2 3 4 5 6))
(3 6)

12   голосов, оценка 3.417 из 5


СОХРАНИТЬ ССЫЛКУ