Квадратное уравнение в Lisp
Пример для версий
Corman Common Lisp 3.0,
SBCL 1.0.1,
SBCL 1.0.29,
clisp 2.47,
gcl 2.6.6
Common Lisp позволяет работать с комплексными числами и выводить их на печать в формате #C(real imag). Функция write-to-string
преобразует число в строку.
(defun quadratic-roots-2 (A B C)
(cond ((= A 0) (string "Not a quadratic equation."))
(t
(let ((D (- (* B B) (* 4 A C))))
(cond ((= D 0) (concatenate 'string "x = " (write-to-string (/ (+ (- B) (sqrt D)) (* 2 A)))))
(t
(concatenate 'string (concatenate 'string "x1 = " (write-to-string (/ (+ (- B) (sqrt D)) (* 2 A))))
(concatenate 'string "~%x2 = " (write-to-string (/ (- (- B) (sqrt D)) (* 2 A)))))))))))
(let ((A (read))
(B (read))
(C (read)))
(format t (quadratic-roots-2 A B C)))
Комментарии
]]>blog comments powered by Disqus
]]>