[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите разобратся
olimpset
Рекурсия, не могу понять.
<?php
function fun($a)
{
if ($a==1)
return 1;
else
return $a*fun($a-1);
}
echo fun(6);

?>
ну вот 6 в echo fun(6);
смотрю в браузер и число 720, откуда оно взялось ?

наверное вот return $a*fun($a-1);, но я считал по такой формуле, то не такие числа. Так откуда такое большое число?
SerginhoLD
Цитата (olimpset @ 13.02.2013 - 19:46)
Рекурсия, не могу понять.
<?php
function fun($a)
{
if ($a==1)
return 1;
else
return $a*fun($a-1);
}
echo fun(6);

?>
ну вот 6 в echo fun(6);
смотрю в браузер и число 720, откуда оно взялось ?

наверное вот return $a*fun($a-1);, но я считал по такой формуле, то не такие числа. Так откуда такое большое число?



6*5*4*3*2*1 = 720
математика, рекурсия, факториал

_____________
"internet explorer всех правильней отображает страницы" ©
Игорь_Vasinsky
Функция будет работать рекурсивно, пока её аргумент (6) не станет ровняться 1
и каждый раз будет проиcходить return $a*fun($a-1);

т.е. функция будет запускаться 5 раз

ты вызвал её с аргументом равным 6 - а она на автомате отработает 6,5,4,3,2

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

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