(setq lst '(1.2 1.5 2.3 2.6 2.6 3.3 3.5 4.1 4.2)
num 0
len 5lst3 nil
)
(setq lst (vl-sort lst '(lambda (x y) (> x y)))
lst (mapcar
'(lambda (x)
(cons x (setq num (1+ num)))
)
lst
)
num 0
)
(while lst
(setq dis 0
i -1 lst1 nil lst2 nil
)
(while (and
(< dis len)
(< i (1- (length lst)))
(setq int (nth (setq i (1+ i)) lst))
)
(if (<= (+ dis (car int)) len)
(progn
(setq dis (+ dis (car int)))
(setq lst2 (cons int lst2)
lst1 (cons (car int) lst1)
)
)
)
)
(foreach x lst2
(setq lst (vl-remove x lst))
)
(setq lst3 (cons lst1 lst3))
(setq num (1+ num))
)
(reverse lst3)
)
页:
1
[2]