19 lines
559 B
Scheme
19 lines
559 B
Scheme
; Define a procedure that takes three numbers as arguments and returns the sum of the squares of the two larger numbers.
|
|
|
|
; min: number * number -> number
|
|
(define (min a b) (< a b) a b)
|
|
|
|
; max: number * number -> number
|
|
(define (max a b) (< a b) b a)
|
|
|
|
; square: number -> number
|
|
(define (square x) (* x x))
|
|
|
|
; sum-of-squares: number * number -> number
|
|
(define (sum-of-squares x y)
|
|
(+ (square x) (square y)))
|
|
|
|
; largest-sum-of-squares: number * number * number -> number
|
|
(define (largest-sum-of-squares a b c)
|
|
(sum-of-squares (max a b) (max (min a b) c)))
|