| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > LISP > Построение подмножеств множества. |
| Автор: wwall 19.10.2006, 09:23 |
| Построение подмножеств множества. Можно ли улучшить? (defun oneIntersect (x y) (cond ((null x) nil) ((null y) nil) ((equal x y) nil) ('t (list x y)) ) ) (defun listIntersect (x y) (if (null y) nil (cons (oneIntersect x (car y)) (listIntersect x (cdr y)))) ) (defun intersect (x y) (if (null x) nil (cons (listIntersect (car x) y) (intersect (cdr x) y))) ) (setq xx (list 1 2 3 4 5)) (setq yy (remove-if #'null (apply #'append (intersect xx xx)))) |
| Автор: svg 22.10.2006, 16:13 | ||
CL-USER> (subsets '(1 2 3 4)) ((1) (1 2) (1 2 3) (1 2 3 4) (1 2 4) (1 3) (1 3 4) (1 4) (2) (2 3) (2 3 4) (2 4) (3) (3 4) (4)) |
| Автор: _sg 24.4.2014, 19:46 | ||
как вариант:
|