Java 中的递归阶乘方法
任何非负整数的阶乘基本上都是小于或等于该整数的所有整数的乘积。阶乘可以使用递归方法获取。
下面展示了一个演示此功能的程序
示例
public class Demo { public static long fact(long n) { if (n <= 1) return 1; else return n * fact(n - 1); } public static void main(String args[]) { System.out.println("The factorial of 6 is: " + fact(6)); System.out.println("The factorial of 0 is: " + fact(0)); } }
输出
The factorial of 6 is: 720 The factorial of 0 is: 1
现在让我们了解一下上面的程序。
fact() 方法计算一个数字 n 的阶乘。如果 n 小于或等于 1,则返回 1。否则,它将递归地调用自身并返回 n * fact(n - 1)。下面的代码片段演示了这一点
public static long fact(long n) { if (n <= 1) return 1; else return n * fact(n - 1); }
在 main() 中,fact() 方法使用不同的值被调用。下面的代码片段演示了这一点
public static void main(String args[]) { System.out.println("The factorial of 6 is: " + fact(6)); System.out.println("The factorial of 0 is: " + fact(0)); }
广告