Java. Урок 17. Функции 4.4

Очевидно, что функция printArray() не должна возвращать никакого значения и должна принимать на вход единственный параметр массив, который следует распечатать.

Рекурсивные функции

Рекурсивные функции — это такие функции, которые вызывают сами себя. Понятное дело, что такие функции содержат некоторые ограничения, которые не позволяют им работать вечно. Напишем рекурсивную функцию вычисления факториала:

1
2
3
4
5
public static int factorial(int n) {
    if(n==0)
        return 1;
    return n*factorial(n-1);
}

После возвращения результата функции, т.е после выполнения операции return остальные команды не выполнятся. Как вы могли заметить факториал от 0 это 1, а факториал любого другого значения можно посчитать как это число умноженное на факториал предыдущего числа. Например факториал 7 это 7 * факториал 6, а 6 в свою очередь это 6 * факториал 5 и так далее вплоть до 0, а факториал нуля уже известен.
Рекурсия применяется во многих алгоритмах и не всегда так просто, как в примере с факториалом, который проще было реализовать через цикл.

Категория: Java | Добавил: ghost_mod (29.09.2016)
Просмотров: 307 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email:
Подписка:1
Код *: