SICP

問題 1.18

無職の間にSICPも読んでみる。目標は焦らずしっかりと読む。問題の解答をさらす。解く順番は出来るだけリニア。 問題 1.18 問題 1.16, 問題 1.17 の結果を使い、加算、二倍、二分による、対数的ステップ数の、二つの整数の乗算の反復的プロセスを生成する手…

問題 1.17

無職の間にSICPも読んでみる。目標は焦らずしっかりと読む。問題の解答をさらす。解く順番は出来るだけリニア。 問題 1.17 本節のべき乗アルゴリズムは、乗算の繰返しによるべき乗の実行に基づいていた。同様に整数の乗算を加算の繰り返しで実行出来る。次の…

続・問題 1.16

無職の間にSICPも読んでみる。目標は焦らずしっかりと読む。問題の解答をさらす。解く順番は出来るだけリニア。 昨日 id:mohayonao:20090316:1237205020 のつづき 偶数でも奇数でも常に2で割る方法にしてみた。 (define (expt base n) (define (expt-iter a…

問題 1.16

無職の間にSICPも読んでみる。目標は焦らずしっかりと読む。問題の解答をさらす。解く順番は出来るだけリニア。 問題 1.16 fast-exp のように、逐次平方を使い、対数的ステップ数の反復的べき乗プロセスを生成する手続きを設計せよ。(ヒント: (bn/2)2 = (b…

問題 1.11

無職の間にSICPも読んでみる。目標は焦らずしっかりと読む。問題の解答をさらす。解く順番は出来るだけシーケンシャル。 問題 1.11 n に対して f(n) = n, n ≧ 3 に対して f(n) = f(n-1) + 2f(n-2) + 3f(n-3) なる規則で定義する関数 f がある。再帰的プロセ…

再帰的プロセスと反復的プロセス

無職の間にSICPも読んでみる。目標は焦らずしっかりと最後まで読む。 Scheme と C で再帰的プロセスと反復的プロセスの手続きをそれぞれ書く。 フィボナッチ数 : 再帰的プロセス (define (fib n) (cond ((= n 0) 0) ((= n 1) 1) (else (+ (fib (- n 1)) (fib…

問題 1.3

無職の間にSICPも読んでみる。目標は焦らずしっかりと読む。問題の解答をさらす。解く順番は出来るだけシーケンシャル。 問題 1.3 三つの数を引数としてとり、大きい二つの数の二乗の和を返す手続きを定義せよ。 Exercuse 1.3 Define a procedure that takes…