小编Dha*_*rav的帖子

方案:从一组三个数字中返回两个最大的数字

我应该写一个函数,打印一组给定的三个数字中两个更大数字的平方和.

我笨拙地处理了这种情况.我没有编写一个函数来返回一组3中的两个最大数字,而是编写了函数,以便表达式减少到所需的两个数字.#SSL功能.

我必须这样做的原因是我无法编写可以将多个值一起返回的LISP函数,并且我无法编写可以读取两个值作为参数的LISP函数.

有没有办法可以抽象出其他程序中最大数字的计算?

(define
    (min a b)
    (if (> a b) b a)
)

(define
    (max a b)
    (if (< a b) b a)
)


(define
    (square a)
    ( * a a)
)



(define 
    (ssl a b c)
    (+ (square (max a b)) (square (max (min a b) c)))
)
Run Code Online (Sandbox Code Playgroud)

scheme sicp

1
推荐指数
2
解决办法
2361
查看次数

标签 统计

scheme ×1

sicp ×1