j'apprends Lisp et je ne peux pas comprendre ce problèmeéquation du second degré Lisp parties imaginaires et réelles
Modifier la fonction qui renvoie les racines d'une équation du second degré afin qu'il renvoie les parties réelles et imaginaires des racines, dans le cas de , ils sont complexes. Supposons que les coefficients sont réels.
;;;gnu clisp 2.49
(defun root(a b c)
(let ((root1 (/ (+ (* -1 b) (sqrt (- (expt b 2) (* 4 a c)))) (* 2 a)))
(root2 (/ (- (* -1 b) (sqrt (- (expt b 2) (* 4 a c)))) (* 2 a))))
(format t "x1=~,2f" root1)
(format t ", x2=~,2f~%" root2)))
(root 1 -3 -4)
(root 1 0 -4)
(root 6 11 -35)
(root 1 -7 0)
(root 5 3 5)
Je voudrais revenir les parties réelles et imaginaires sous la forme x + yi
Un grand merci pour l'aide et le pourboire. Je vais écrire d'une manière plus propre à partir de maintenant. –