조성근
가입: 2009년 9월 14일 올린 글: 283
|
올려짐: 2013년9월28일 17:59 주제: 문제3-1에서 2친수의 타입은 모두 "crazy"로 적어 주세요. |
|
|
문제3-1에서 2친수의 타입이 크기가 가변적인 pair타입이어서 답안을 작성하기가 어렵다는 학생분의 지적이 있었습니다.
2친수의 타입은 모두 "crazy"로 적어 주세요. 아래의 예를 참고하시기 바랍니다.
코드: | (define (zpn x) ; zpn: crazy -> int
(cond ((equal? x 'z) 0)
((equal? x 'p) 1)
((equal? x 'n) -1)))
(define (crazy2val c) ; crazy2val: crazy -> int
(cond ((pair? c)
(let ((hd (car c)) ; hd: crazy
(tl (cdr c))) ; tl: crazy
(+ (* 2 (crazy2val tl)) (zpn hd))))
(else (zpn c)))) |
|
|