【PHP】メモ化再帰

同じ計算を2度以上しないで、メモするという話

$arr = array();
$arr = array_pad($arr, 999, -1);

function memo01($n){

global $arr;

if($n == 0) return 0;
if($n == 1) return 1;

if($arr[$n] != 0) {
return $arr[$n];
}

$arr[$n] = memo01($n - 2) + memo01($n - 1);
//echo $n." = ".$arr[$n]."
";
return $arr[$n];

}

echo memo01(100);

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA