2016-02-07から1日間の記事一覧

SICP 演習問題 2.2

2.17 #lang Racket (define (last-pair items) (if (null? (cdr items)) (car items) (last-pair (cdr items)))) 2.18 繰り返し (define (reverse items) (define (iter items result) (if (null? items) result (iter (cdr items) (cons (car items) result…

SICP 演習問題 2.1

2.1 #lang racket (define (make-rat n d) (let ((g (gcd n d))) (cond ((< (* n d) 0) (cons (* -1 (abs (/ n g))) (abs (/ d g)))) (else (cons (abs(/ n g)) (abs(/ d g))))))) (define (add-rat x y) (make-rat (+ (* (numer x) (denom y)) (* (numer y)…