无法理解递归因子

问题描述 投票:2回答:3

我是递归的新手,我无法理解如何计算这个递归因子函数。

当我尝试用我的思想运行代码时,这就是我将其可视化的方式:

如果number = 4,

第一次回归:4 x 3

第二次回归:3 x 2

第3次回归:2 x 1

所以在我看来它是(4 x 3)*(3 x 2)*(2 x 1)但显然正确的返回将是4 X 3 X 2 X 1。我希望能够理解它是如何获得4 X 3 X 2 X 1的。

 public static long factorial(long number) {
        if (number <= 1)
           return 1;
        else
        {
            System.out.println(number + " x " + (number-1) );
           return number * factorial(number - 1);
        }
     }

任何帮助和解释将不胜感激。

java recursion
3个回答
© www.soinside.com 2019 - 2024. All rights reserved.