2008-05-09から1日間の記事一覧

Problem 59 - XOR暗号解読

はじめての暗号解読に挑んでみる。 Problem 59 - PukiWiki (訳者注: 文字コードの説明は適当です) 各文字はそれぞれ一意のコードに割り当てられている. よく使われる標準としてASCII (American Standard Code for Information Interchange) がある. ASCIIで…

Problem 92 - コラッツみたいな

メモ化が無いと辛そうかなと思ってたけど、メモ化しても辛かった。Problem 92 - PukiWiki 各桁の数を2乗して足し合わせて新たな数を作ることによって、作られる数字の列を考える。例えば 44 → 32 → 13 → 10 → 1 → 1 85 → 89 → 145 → 42 → 20 → 4 → 16 → 37 →…

SICPを読む(108) 問題 3.27 - メモ化

いよいよメモ化 問題 3.27 以下が何をやってるのか説明せよという問題。普段でも使えるように改造版にしてみた。 (define (memoize f) (let ((table '())) (lambda x (let ((prev-result (assoc x table))) (if prev-result (cdr prev-result) (let ((result…

SICPを読む(107) 問題 3.24,3.25,3.26 - 多次元キー

SICPも大変だ。 問題 3.24,3.25 equal?以外にも対応し、多次元のキーに対応せよ。という問題。 手続きの連鎖にしてみた。keyとvaluesの位置を変えて引数を可変長にしてみたけど、applyがいっぱい必要になってしまった。ちと失敗。getとsetのAPIはそのまま使…