Programa Java para encontrar factorial de un número mediante recursividad

En este programa, aprenderá a encontrar y mostrar el factorial de un número usando una función recursiva en Java.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de Java:

  • Métodos Java
  • Recursión de Java

El factorial de un número positivo n viene dado por:

 factorial de n (n!) = 1 * 2 * 3 * 4 *… * n

El factorial de un número negativo no existe. Y el factorial de 0 es 1.

Aprenderá a encontrar el factorial de un número usando la recursividad en este ejemplo. Visite esta página para aprender cómo puede encontrar el factorial de un número usando el bucle.

Ejemplo: factorial de un número mediante recursividad

 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; ) )

Salida

 Factorial de 6 = 720

Inicialmente, multiplyNumbers()se llama a desde la main()función con 6 pasado como argumento.

Dado que 6 es mayor o igual que 1, 6 se multiplica al resultado de multiplyNumbers()donde se pasa 5 (núm -1). Dado que se llama desde la misma función, es una llamada recursiva.

En cada llamada recursiva, el valor del argumento num se reduce en 1 hasta que num llega a menos de 1.

Cuando el valor de num es menor que 1, no hay llamada recursiva.

Y cada llamada recursiva regresa dándonos:

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

Articulos interesantes...