English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Java

Java Управление потоком

Java Массивы

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений Java

Java Списки (List)

Java Queue (очередь)

Java Map-сборники

Java Set-сборники

Java Вход/Выход (I/O)

Java Reader/Writer

Другие темы Java

Java-программа использует рекурсию для поиска факториала числа

Java полная коллекция примеров

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

Факториал положительного числа n определяется следующим образом:

факториал n (n!) = 1 * 2 * 3 * 4 * ... * n

Факториал отрицательных чисел не существует. Факториал 0 равен 1.

В этом примере вы узнаете, как использовать рекурсию для поиска факториала числа. Посетите эту страницу, чтобы узнать, какИспользование цикла для поиска факториала числа

Пример: использование рекурсии для вычисления факториала

public class Factorial {
    public static void main(String[] args) {
        int num = 6;
        long factorial = multiplyNumbers(num);
        System.out.println("" + num + "的多重乘积 = " + factorial);
    }
    public static long multiplyNumbers(int num)
    {
        if (num >= 1)
            return num * multiplyNumbers(num - 1);
        else
            return 1;
    }
}

При выполнении этой программы вывод будет:

 Факториал 6 = 720

Сначала вызывается multiplyNumbers() из функции main() и передается параметр 6.

Поскольку 6 больше или равно 1, он умножается на результат multiplyNumbers(), переданного 5 (num - 1). Поскольку это вызов из той же функции, это рекурсивный вызов.

В каждом вызове рекурсии значение параметра num уменьшается на 1, пока num не станет меньше 1.

Когда значение num меньше 1, не будет вызовов рекурсии.

каждый вызов рекурсии возвращает нам:

6 * 5 * 4 * 3 * 2 * 1 * 1 (for 0) = 720

Java полная коллекция примеров