English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este programa, aprenderás a usar funciones recursivas en Java para encontrar y mostrar el factorial de un número.
El factorial de un número positivo n se da por la siguiente fórmula:
factorial de n (n!) = 1 * 2 * 3 * 4 * ... * n
El factorial de números negativos no existe. El factorial de 0 es1。
En este ejemplo, aprenderás a usar la recursión para encontrar el factorial de un número. Visita esta página para saber cómoUsar bucle para encontrar el factorial de un número。
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
最初,从main()函数中调用multiplyNumbers(),并以6作为参数传递。
因为6大于或等于1,所以6乘以了multiplyNumbers()的结果,其中传递了5 (num -1)。因为它是从同一个函数中调用的,所以它是一个递归调用。
在每次递归调用中,参数num的值减少1,直到num小于1。
当值num小于1时,将没有递归调用。
每个递归调用都会返回给我们:
6 * 5 * 4 * 3 * 2 * 1 * 1 (for 0) = 720