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

В этой программе вы научитесь находить и отображать факториал числа с помощью рекурсивной функции в 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

Интересные статьи...