2008-04-08から1日間の記事一覧

call/ccに関する疑問

call/ccで使われなかった部分はどこに行ってしまうんだろう。という疑問。Karetta|Gaucheプログラミング(立読み版)|継続渡しスタイルより。 (* 2)を使わないで継続を実行する。 (call/cc (lambda (cont) (* 2 (cont 10)))) ; 10 contの中には、PRINT-AND-NEX…

フェルマーの最終定理

オイラーについて調べてた。 まさに、オイラーは 「計算するために生まれてきた」 と言われるぐらい、天才的な数学の申し子だった。「人が息をするように、鳥が空を飛ぶように、オイラーは計算をする」 と評されるオイラーは、とにかく、計算が速く、長大な…

新関数を考えてみた

unfoldは便利なんだけど、cons邪魔杉なので新関数unを考えてみた。 (define (un p tail f seed) (if (p seed) (tail seed) (f seed (lambda (x) (un p tail f x))))) fは2個の引数、seedと手続きを取るようにする。 リストのコピー。 (un null? values (lamb…

unfoldのメモ

unfoldが便利っぽい。メモメモgaucheのマニュアルを見ると、 Function: unfold p f g seed &optional tail-gen [SRFI-1] 基本リスト再帰構築子です。以下のように再帰的に定義されています。 (unfold p f g seed tail-gen) == (if (p seed) (tail-gen seed) …

Problem 10 - 力業

お、やっと終わった。20分くらい放置。 (define (primers n) (define (iter l) (if (null? l) '() (cons (car l) (iter (filter (lambda (o) (not (zero? (modulo o (car l))))) (cdr l)))))) (iter (cons 2 (list-tabulate (quotient (- n 1) 2) (lambda (x…

ふつうに解ける問題が

30問を目前にしてふつうに解ける問題がなくなってきた。ちょっとペースを落とそう。 もう一段階上を目指さないと無理っぽい。 ここからが勝負。