X、Y、Z均为非负整数,a>b>c>0且满足L-min(a,b,c)<a*X+b*Y+c*Z<=L,求X、Y、Z的整数解?
(setq a 9 b 8 c 7 L 100 nlist nil)
(defun ff (n / llist i)
(setq llist '() i 0)
(while (<= i n)
(setq llist (cons i llist))
(setq i (+ i 1))
)
llist
)
(defun qz (x y)
(setq n (/ (- x (rem x y)) y))
n
)
(foreach na (ff (qz L a))
(foreach nb (ff (qz (- L (* a na)) b))
(foreach nc (ff (qz (- L (+ (* a na) (* b nb))) c))
(if (and (< (- L c) (+ (* a na) (* b nb) (* c nc))) (>= L (+ (* a na) (* b nb) (* c nc))) )
(setq nlist (cons (list na nb nc) nlist))
)
)
)
)
(print nlist)