В этой программе вы научитесь находить и отображать факториал числа с помощью рекурсивной функции в 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("Factorial of " + num + " = " + factorial); ) public static long multiplyNumbers(int num) ( if (num>= 1) return num * multiplyNumbers(num - 1); else return 1; ) )
Вывод
Факториал 6 = 720
Первоначально multiplyNumbers()
вызывается из main()
функции, переданной в качестве аргумента.
Поскольку 6 больше или равно 1, 6 умножается на результат, в multiplyNumbers()
котором передается 5 (число -1). Поскольку он вызывается из той же функции, это рекурсивный вызов.
В каждом рекурсивном вызове значение аргумента num уменьшается на 1, пока num не станет меньше 1.
Когда значение num меньше 1, рекурсивный вызов отсутствует.
И каждый рекурсивный вызов возвращается, давая нам:
6 * 5 * 4 * 3 * 2 * 1 * 1 (для 0) = 720