2015년 8월 3일 월요일

SICP Exercise 1.3 / SICP 연습문제 1.3

Exercise 1.3. Define a procedure that takes three numbers as arguments and returns the sum of the squares of the two larger numbers.

연습문제 1.3
세 숫자를 인자로 받아 그 가운데 큰 숫자 두 개를 제곱한 다음, 그 두 값을 덧셈하여 내놓는 프로시저를 정의하라.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
(define (f a b c)
  (+
   (square (maxnum a b c)) 
   (square (middlenum a b c)) 
  )
 )
(define (maxnum a b c)
  (cond 
    ((and (> a b) (> a c)) a)
    ((and (> b a) (> b c)) b)
    ((and (> c a) (> c b)) c)
   )
  )
(define (middlenum a b c)
   (cond
     ((and (> a b)(> b c)) b)
     ((and (> b c) (> c a)) c)
     ((and (> c a) (> a b)) a)
     )
   ) 
  
(define (square a )
  (* a a)
  )
(f 5 3 1)
cs

댓글 없음:

댓글 쓰기