[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Непрямая рекурсия
lazus
Помогите разобраться в понятии непрямая рекурсия. Понимаю что "Непрямая рекурсия возникает, когда первая функция вызывает вторую, а вторая - первую". Но хотелось бы более подробно, с примером. Может какие-то определённые правила есть действующие для неё.
Есть пример задачи:
<?php
$a = 5;

function getValue1($a)
{
return $a++;
}

function getValue2($a)
{
return ++$a;
}

echo getValue1(getValue2(getValue2(getValue1(getValue1($a)))));

?>
Valick
<?php
function
rec_one($value = 0)
{
echo 'вызвана функция rec_one <br />';
if ($value < 10) {
return rec_two(++$value);
}
return $value;
}

function rec_two($value = 0)
{
echo 'вызвана функция rec_two <br />';
if ($value < 10) {
return rec_one(++$value);
}
return $value;
}

echo rec_one();


А вот прямая рекурсия
<?php
function
rec_one($value = 0)
{
echo 'вызвана функция rec_one <br />';
if ($value < 10) {
return rec_one(++$value);
}
return $value;
}

echo rec_one();


_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

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