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