sicp/2_1.sch

15 lines
296 B
Scheme

; (define (make-rat n d) (cons n d))
(define (numer x) (car x))
(define (denom x) (cdr x))
(define (make-rat n d)
(cond ((and (> n 0) (> d 0))
(cons n d))
((and (< n 0) (< d 0))
(cons (* n -1) (* d -1)))
((and (< n 0) (> d 0))
(cons n d))
(else
(cons (* n -1) (* d -1)))))