2009-08-23から1日間の記事一覧

問題1.19

息切れ。。。飛ばす。

問題1.18

結論から行くと、問題1.16と同じような方法で解ける。なぜ、その方法が思いつくかと言うと、わからない(天才の脳を見てみたい)。と言うことで、凡人の私は、問題1.16と同じ方法で、状態変数nを使って、ある量が一定になるようにしたら、答えが出てきました。…

問題1.17

これは、再帰的なかけ算の問題。再帰プロセスで考えていいそうなので楽*1。アルゴリズム 奇数のとき: a * b = (2a) * (b/2) 偶数のとき: a * b = a + a * (b-1) コード (define (fast-mul a b) (define (double n) (* n 2)) (define (halve n) (/ n 2)) (def…

問題1.16

ベキ乗の計算でO(logn)で解く方法を再帰プロセスではなく、反復プロセスで解く方法。 反復プロセスにするのって、すごい難しい。この問題も全然思いつかず、つい答えを見てしまった。ヒントにある通り、状態変数aを用意しておいて、a=b^0にセット。それで、…