Jでハイパーメモ化再帰タイム
timer =: 6!:2 NB. 実行時間が計れるよ! fib =: ($:@-&2 + $:@<:)`1:@.(1>:]) NB. ふつうにフィボナッチ数を求める fib"0 (i.18) 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 fibx =: ($:@-&2 + $:@<:)`1:@.(1>:]) M. NB. M.をつけるだけでメモ化しちゃう fibx"0 (i.18) 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 timer'fib 32' 6.71361 NB. 約7秒かかる timer'fibx 32' 4.82603e_5 NB. 約0.00005秒かかる
メモ化の副詞おいしいです