前の日 / 次の日 / 最新 / 2007-08

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2007-08-24 Fri

PowerShell でフィボナッチ2 [PowerShell]

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 以上だとエラーが出る。