gpt4 book ai didi

lisp 二次方程的虚部和实部

转载 作者:太空宇宙 更新时间:2023-11-03 18:51:35 25 4
gpt4 key购买 nike

我正在学习lisp,我无法理解这个问题

修改返回二次方程根的函数,使其返回根的实部和虚部,在这种情况下他们很复杂。假设系数是实数。

;;;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)

我想以 x + yi 的形式返回实部和虚部

最佳答案

您需要打印您的 complex numbers以你喜欢的格式。例如:

(defun number2string (num)
(if (complexp num)
(format nil "~,2f + ~,2fi" (realpart num) (imagpart num))
(format nil "~,2f" num)))

(defun quadratic-roots (a b c)
(let* ((root1 (/ (+ b (sqrt (- (* b b) (* 4 a c )))) (* -2 a)))
(root2 (- (- b) root1)))
(format t "x1=~a, x2=~a" (number2string root1) (number2string root2))
(values root1 root2)))

关于lisp 二次方程的虚部和实部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46756850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com