SICP

Exercies 2.44-2.45

忙しかったり他の本読んでたりでだいぶ間が空いてしまった……などと言い訳しつつ。2.44 (define (up-split painter n) (if (= n 0) painter (let ((smaller (up-split painter (- n 1)))) (below painter (beside smaller smaller))))) ほとんどright-splitの…

Exercise 2.42 エイトクイーンパズル完全攻略

(追記20081013:全然完全攻略じゃないので注意!>Googleから来た人)と仰々しいタイトルをつけてしもいました アホ向け(=俺向け)のベタな解説が余り見当たらなかったので解説してみる。 内容はボード上に置いたクイーンが互いに縦横斜めの位置に重ならな…

Exercise 2.41

合計がsになる正の整数三つの組み合わせ(整数上限がn)という解釈でよろしいか。 unique-pairsを利用するならペアの後ろの数字未満の連番をくっつければいいきがする。あとは合計がSか判定。 まずはunique-triples。 (define (unique-triples n) (flatmap (…

Exercise 2.40

prime-sum-pairsをシンプルにするためにunique-pairsって関数つくれって切り出すだけでない (define (unique-pairs n) (flatmap (lambda (i)(map (lambda (j) (list i j)) (enumerate-interval 1 (- i 1)))) (enumerate-interval 1 n)))

Exercise 2.37

matrix algebraてなんだ……線形代数? テライミフw シグマとかやめてよもー というわけで問題で何をさせたいかよーわからん(なんとなくはわかるが) ので問題意図だけチート。 http:/www.csus4.net/hiki/SICPReading/?FujimotoHisa#l38 よりテストケースを…

Exercies 2.36

(define s (list (list 1 2 3) (list 4 5 6) (list 7 8 9) (list 10 11 12))) (accumulate-n + 0 s) (22 26 30) になりゃいーのね。 こうだッ (define (accumulate-n op init seqs) (if (null? (car seqs)) '() (cons (accumulate op init (map car seqs)) (…