読者です 読者をやめる 読者になる 読者になる

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)…

SICP 演習問題 1.3

Exercise 1.29 ;h = (b-a)/n ;y_k=func(a+kh) ;sum = (y_0 + 4y_1 + 2y_2 + 4y_3 + ... + y_n) ; #lang Racket (define (simpthon a b func n) (* (/ (h a b n) 3) (sum-simpthon a b func 0 n))) (define (sum-simpthon a b func k n) (if (> k n) 0 (+ (co…

SICP 演習問題 1.2

Exercise 1.9 (define (+ a b) (if (= a 0) b (inc (+ (dec a) b)))) (+ 4 5) (inc (+ 3 5)) (inc (inc (+ 2 5))) (inc (inc (inc (+ 1 5)))) (inc (inc (inc (inc (+ 0 5))))) (inc (inc (inc (inc 5)))) (inc (inc (inc 6)) (inc (inc 7) (inc 8) 9 再帰 (…

SICP 演習問題 1.1

実はちょっと前からやっていたんだけど、長続きしないと恥ずかしいからアップするのを控えていた。 それなりに続いているし、このまま止まらないようにアップして自分を追い詰めることにした。 とりあえず1章から順番に。。。 Exercise 1.1 ​ 10 # -> 10 ​ (…