程序通过递归在单个程序中查找阶乘及其反转

时间:2017-11-21 14:51:33

标签: java

我知道什么是阶乘。例如5! = 5x4x3x2x1 任何人都可以指导代码通过递归计算数字的以下内容。 例如:5,如何通过递归计算5x4x3x2x1x2x3x4x5

1 个答案:

答案 0 :(得分:1)

这是解决问题的代码。在最后一行中,我将n与另一个n相乘,因为我需要将它乘以两次,但我保持堆栈中的乘法并在我调用递归时将其挂起。因此,在最后我得到的结果为5*4*3*2*1*2*3*4*5=14400

public class Test{
    public static void main(String... args){
        int f=5;
        System.out.println(fact(f));
    }
    public static int fact(int n){
        if(n==1) return n;
        return n*fact(n-1)*n;
    }
}