20 lines
541 B
Common Lisp
20 lines
541 B
Common Lisp
(defun multiplier (f g)
|
|
#'(lambda (x) (* f g x)))
|
|
|
|
(let* ((x 2.0)
|
|
(xi 0.5)
|
|
(y 4.0)
|
|
(yi 0.25)
|
|
(z (+ x y))
|
|
(zi (/ 1.0 (+ x y)))
|
|
(numbers (list x y z))
|
|
(inverses (list xi yi zi)))
|
|
(loop with value = 0.5
|
|
for number in numbers
|
|
for inverse in inverses
|
|
for multiplier = (multiplier number inverse)
|
|
do (format t "~&(~A * ~A)(~A) = ~A~%"
|
|
number
|
|
inverse
|
|
value
|
|
(funcall multiplier value))))
|