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秒かかる

メモ化の副詞おいしいです