[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ряд Фиббоначи
sidlejinks
Есть обычная реализация расчёта N числа Фиббоначи:

<?php
function
fibo($n)
{
if ($n < 3) {
return 1;
}
else {
return fibo($n-1) + fibo($n-2); // возврат рекурсии;
}
}


for ($n = 1; $n <= 10; $n++) { // в цикле задаём длину строки чисел Фиббоначи ($n <= N, где N - количество итераций);
echo(fibo($n) . ", ");
}
echo("... (при необходимости продолжить список увеличте цикл!)\n")
?>

...необходимо переделать её так, чтобы эта функция "помнила" (записывала в массив) переданные ей аргументы с той целью, что если мы допустим передали "5", то в следующий раз, когда передадим к примеру "4" не вычислялось всё заново, а результат брался из массива...помогите кто чем сможет :oops:



Спустя 3 часа, 45 минут, 13 секунд (19.06.2011 - 20:50) Basili4 написал(а):

<?php
function
fibo($n)
{
static $arr=array();
if ($n < 3) {
return 1;
}
else
{

$arr[$n-1]=isset($arr[$n-1])?$arr[$n-1]: fibo($n-1);
$arr[$n-2]=isset($arr[$n-2])?$arr[$n-2]: fibo($n-2);
return $arr[$n-1] +$arr[$n-2] ; // возврат рекурсии;
}
}

?>

Я не забыл я проверял бдительность. Бдительность в норме.

Спустя 14 минут, 59 секунд (19.06.2011 - 21:05) alex12060 написал(а):
Basili4

Ну, блин, как Вы забыли про крутые теги php?)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.