我知道您可以使用(> 3 2)
这样的东西来比较Racket中的两个参数。但三个数字集怎么样?你可以使用像
(define smallest-of-three
(lambda (a b c)
(cond (and (> a b) (> a c))a)))
例如?
谢谢
答案 0 :(得分:4)
如果您想找到至少三个数字,请执行以下操作:
(min a b c)
答案 1 :(得分:0)
作为一种更通用的解决方案,您可以改为使用html
,如下所示:
foldl
现在我们可以做更复杂的比较,因为我们可以使用任何带有两个参数的过程,只返回其中一个。
使用更高阶函数,我们可以进一步概括:
(foldl (lambda (a b) ;; our comparison function
(if (< a b) a b))
a ;; our initial value
(list b c)) ;; the rest of our values