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