Общая рекурсия - Lisp
Формулировка задачи:
Здравствуйте. Есть вот такое задание:
Его нужно реализовать общей рекурсией, а до меня не доходит как.
Даны два списка одинаковой структуры. Построить список такой же структуры, состоящий из пар элементов.
((A B(B)C)D) , ((1 C (2)3)4) —>—>(((A 1) (B C)((B 2))(C 3))(D 4))
Решение задачи: «Общая рекурсия»
textual
Листинг программы
(defun cs (w v &aux (a (car w)) (b (car v))) (when w (cons (cs- a b) (cs (cdr w) (cdr v))))) (defun cs- (a b) (if (atom a) `(,a ,b) (cs a b))) > (cs '((A B(B)C)D) '((1 C (2)3)4)) (((A 1) (B C) ((B 2)) (C 3)) (D 4))
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д