/ / メモ
2007-08-24

function fib{param($x)
    if($global:m.$x -isnot [int]){
        if($x -le 1){
            $global:m += @{$x = 1}
         }else{
            $global:m += @{$x = (fib ($x - 1)) + (fib ($x - 2))}
         }
     }
     return $global:m.$x
}

メモ化してみた。
ハッシュ $m を作成してから、実行する。

$m = @{}
fib 40
165580141

fib 47 以上だとエラーが出る。

トラックバック http://mikanya.dip.jp/memo/2007-08-24-1