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

更新于: 30-7-2019

5000+ 次浏览

开始你的 事业

通过完成课程获取认证

开始使用
广告