w090212y 发表于 2022-12-24 11:38:24

求助,大佬们求助

如何实现在一堆数字里选出一个比目标数字大得最小的的数字呢?如5,7,8,9,11里面选出比6大得最小的数字是7,比8大得最小的数字是8

xyp1964 发表于 2022-12-24 13:41:46

;; (abc '(5 7 8 9 11) 6) → 7
(defun abc (lst n)
(car(vl-remove-if '(lambda (x) (< x n)) (vl-sort lst '<)))
)

自贡黄明儒 发表于 2022-12-24 12:51:47

问的方式 不对,整理一下思路。

w090212y 发表于 2022-12-27 16:25:26

xyp1964 发表于 2022-12-24 13:41
;; (abc '(5 7 8 9 11) 6) → 7
(defun abc (lst n)
(car(vl-remove-if '(lambda (x) (< x n)) (vl-sor ...

可以了,感谢大佬

kkq0305 发表于 2022-12-27 18:00:39

(defun tt (lst a / x n)
(setq x nil)
(foreach n lst
    (if        (>= n a)
      (if x
        (if (< n x)
          (setq x n)
        )
        (setq x n)
      )
    )
)
x
)
页: [1]
查看完整版本: 求助,大佬们求助