竹内関数をメモ化とか遅延で高速化してみた ref: http://qiita.com/items/b3f9ab63c63e9e6399e6