Оглавление

18.5. Рекурсия. Вычисляем факториал

Рекурсия — это возможность функции вызывать саму себя. С одной стороны, это удобно, с другой стороны, если не предусмотреть  условие  выхода,  это приводит к бесконечным циклам.

 
Для примера приведем вычисление факториала (листинг 23).

 
Листинг 23. Вычисление факториала

<b>Вычисление факториала</b><br><br>
Введите число<br>
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>">
<input type="text" name="fact">
<input type="submit" value="OK">
</form><br>
<?php
function f_Factorial($x) {
   if ($x == 0 || $x == 1) return 1;
   else return ($x * f_Factorial($x - 1));
}
if (isset($_GET['fact'])) {
   $fact = $_GET['fact'];
   if (!preg_match('/^[0-9]+$/s', $fact)) {
      echo 'Необходимо ввести целое число!';
   }
   else {
      echo 'Факториал числа ' . $fact . ' = ' . f_Factorial((int)$fact);
   }
}
?>

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити