【发布时间】:2012-09-13 04:42:29
【问题描述】:
(define (sum-two-sqrt a b c)
(cond ((and (<= c a) (<= c b)) sqrt-sum(a b))
((and (<= a b) (<= a c)) sqrt-sum(b c))
((and (<= b a) (<= b c)) sqrt-sum(a c))
)
)
(define (sqrt-sum x y)
(+ (* x x) (*y y))
)
(define (<= x y)
(not (> x y))
(sum-two-sqrt 3 4 5)
这是我的代码
请帮我解决问题。 :)
我今天才开始学习 Lisp。
之前学过一些 C,但是这两种语言完全不同!
这是问题 定义一个以三个数字作为参数并返回两个较大数字的平方和的过程。
如果你有更好的算法
张贴!
谢谢你:)
【问题讨论】:
-
(sqrt-sum a b)不是sqrt-sum(a b),为什么还要定义<=?不是已经定义了吗? -
好的,我将 sqrt-sum(a b) 更改为 (sqrt-sum a b)。程序现在可以运行,但结果不对。
-
为了他人的利益,请发布您的解决方案。
-
下次,描述您的问题。您省略了说明您认为存在问题的原因。