理系学生日記

おまえはいつまで学生気分なのか

忍者TOOLS

問題1.18

問題1.18とか言いながら実際にといてるのは1.17なのですが、あんまり気にしすぎる人は長生きできない。みんな長生きなかんじでよかったですね。

(define (even? n)
  (= (remainder n 2) 0))

(define (double x) (+ x x))
(define (halve x) (/ x 2))

(define (* a b)
  (cond ((= b 0) 0)
	((even? b) (double (* a (halve b))))
	(else (+ a (* a (- b 1))))))

ぼくは相当こんがらがってきた。