本帖最后由 llsheng_73 于 2015-6-11 22:19 编辑
 - (DEFUN N+(N F LST / I)
- (setq i 0 f(if f vl-remove-if-not vl-remove-if ))
- (apply'+(f'(lambda(x)(<=(setq i(1+ i))n))lst))
- )
或者
 - (defun sublst(m n lst / i)
- (setq i 0)
- (vl-remove-if-not'(lambda(x)(<= m(setq i(1+ i))n))lst)
- )
- (defun N+(n f lst / a b)
- (apply'+(sublst(if f 0 n)(if f(1+ n)(length lst))lst))
- )
(N+ 4 t '(1 2 3 4 5 6 7 8 9 10))==>10
(N+ 4 nill '(1 2 3 4 5 6 7 8 9 10))==>45
|