scip学習ノート
DrRacketをインストールし、コマンドバーにlang planet neil/sicpを入力すれば、scheme解釈器がある環境になります.
1.3は、3つの数のうちより大きい2つの数の和を返します.
1.8
schemeを表すカッコは本当に卵が痛いですね.長い間カッコの問題で、アルゴリズム自体は簡単です.
1.11
再帰的な書き方
1.3は、3つの数のうちより大きい2つの数の和を返します.
> (define (sunBigger a b c)
(define (min a b)
(if (> a b)
(b)
a))
(- (+ a b c) (min (min a b) c)))
> (sumBigger 1 2 3)
1.8
(define (iscube guess x)
(define (good-enough guess x)
(< (abs (- (* guess guess guess) x)) 0.001))
(define (improve guess x)
(/ (+ (/ x (* guess guess)) (* 2 guess)) 3))
(if (good-enough guess x)
guess
(improve guess x)))
schemeを表すカッコは本当に卵が痛いですね.長い間カッコの問題で、アルゴリズム自体は簡単です.
1.11
再帰的な書き方
(define (fib n)
(if (< n 3) n
(+ (fib (- n 1)) (* 2 (fib (- n 2))) (* 3 (fib (- n 3))))))
反復書き方