(define (gcd x y)
(if (= y 0)
x
(gcd y (remainder x y))))
(define (make-rat n d)
(let ((g (gcd (abs n) (abs d)))
(s (signum d)))
(cons (/ n (* g s)) (/ d (* g s)))))
(define (signum x)
(if (= x 0 )
0
(/ x (abs x))))
(define (numer x) (car x))
(define (denom x) (cdr x))
(define (print-rat x)
(newline)
(display (numer x))
(display "/")
(display (denom x)))
(define hehe (make-rat -1 2))
sicp习题2.1
最新推荐文章于 2019-01-17 14:04:40 发布