(defun help(a x)
(if (null x) nil
(cons (cons a (car x)) (help a (cdr x)))))
(defun partition(x)
(if (null x) '(nil)
(append (help (car x) (partition(cdr x))) (partition(cdr x)))))
와 LISP 프로그램을 이해하는 것이 필요 : (partition '(a b)) -> ((A B) (A) (B) NIL)
나는 그것이 어떻게 작동하는지 이해하기 위해 노력하고있어. 누군가 결과를 얻으려는 것을 설명 할 수 있습니까? 나는 코드를 따르고 종이에 글쓰기를 시도했지만 실패했다.재귀
무엇을하려하십니까? – zellio
프로그램은 목록으로 주어진 세트의 파티션을 찾습니다. 나는 그것이 어떻게되는지 알아 내려고하고있다. – 10001a
예'(partition (ab)) => ((AB) (A) (B) NIL)'는 파티션보다 파워 세트와 비슷해 보입니다. "파티션"이 무엇인지 생각하지 않습니다. 여기에 의미합니다. –